Skip to content

Commit ccd6197

Browse files
author
Anton Khodak
committed
Add tests for comparison of file contents
1 parent 3d286a4 commit ccd6197

File tree

2 files changed

+51
-5
lines changed

2 files changed

+51
-5
lines changed

tests/test-data/cores.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2

tests/test_compare.py

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
11
import unittest
22
from cwltest import CompareFail
3-
from cwltest.utils import compare_file
3+
from cwltest.utils import compare_file, compare
44

55

6-
class TestCompareFile(unittest.TestCase):
6+
class TestCompare(unittest.TestCase):
77

8-
def test_general(self):
8+
def compare_success(self, expected, actual):
9+
try:
10+
compare(expected, actual)
11+
except CompareFail:
12+
self.fail("Comparison failed unexpectedly")
13+
14+
15+
class TestCompareFile(TestCompare):
16+
17+
def test_compare_file(self):
918
expected = {
1019
"location": "cores.txt",
1120
"size": 2,
@@ -21,8 +30,44 @@ def test_general(self):
2130
"path": "/var/folders/8x/2df05_7j20j6r8y81w4qf43r0000gn/T/tmpG0EkrS/cores.txt",
2231
"size": 2
2332
}
24-
2533
try:
2634
compare_file(expected, actual)
2735
except CompareFail:
28-
self.fail("File comparison failed unexpectedly")
36+
self.fail("File comparison failed unexpectedly")
37+
38+
def test_compare_contents_success(self):
39+
expected = {
40+
"location": "cores.txt",
41+
"size": 2,
42+
"class": "File",
43+
"contents": "2\n"
44+
}
45+
46+
actual = {
47+
"basename": "cores.txt",
48+
"checksum": "sha1$7448d8798a4380162d4b56f9b452e2f6f9e24e7a",
49+
"class": "File",
50+
"location": "file:///var/folders/8x/2df05_7j20j6r8y81w4qf43r0000gn/T/tmpG0EkrS/cores.txt",
51+
"path": "tests/test-data/cores.txt",
52+
"size": 2
53+
}
54+
self.compare_success(expected, actual)
55+
56+
def test_compare_contents_failure(self):
57+
expected = {
58+
"location": "cores.txt",
59+
"size": 2,
60+
"class": "File",
61+
"contents": "2"
62+
}
63+
64+
actual = {
65+
"basename": "cores.txt",
66+
"checksum": "sha1$7448d8798a4380162d4b56f9b452e2f6f9e24e7a",
67+
"class": "File",
68+
"location": "file:///var/folders/8x/2df05_7j20j6r8y81w4qf43r0000gn/T/tmpG0EkrS/cores.txt",
69+
"path": "tests/test-data/cores.txt",
70+
"size": 2
71+
}
72+
with self.assertRaises(CompareFail):
73+
compare_file(expected, actual)

0 commit comments

Comments
 (0)