Skip to content

Commit f4d59b7

Browse files
authored
Updated test error messages. (#3545)
[no important files changed]
1 parent 0d2c09b commit f4d59b7

File tree

1 file changed

+45
-20
lines changed

1 file changed

+45
-20
lines changed

exercises/concept/locomotive-engineer/locomotive_engineer_test.py

Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,15 @@ def test_get_list_of_wagons(self):
1414
input_data = [(1,5,2,7,4), (1,5), (1,), (1,9,3), (1,10,6,3,9,8,4,14,24,7)]
1515
output_data = [[1,5,2,7,4], [1,5], [1], [1,9,3], [1,10,6,3,9,8,4,14,24,7]]
1616

17-
for variant, (input_data, output_data) in enumerate(zip(input_data, output_data), start=1):
18-
with self.subTest(f'variation #{variant}', input_data=input_data, output_data=output_data):
19-
error_msg=f'Expected: {output_data} but got a different wagon list instead.'
20-
self.assertEqual(get_list_of_wagons(*input_data), output_data, msg=error_msg)
17+
for variant, (input_data, expected) in enumerate(zip(input_data, output_data), start=1):
18+
with self.subTest(f'variation #{variant}', input_data=input_data, expected=expected):
19+
20+
actual_result = get_list_of_wagons(*input_data)
21+
error_msg= (f'Called get_list_of_wagons{input_data}. '
22+
f'The function returned {actual_result}, but the '
23+
f'tests expected: {expected} as the wagon list instead.')
24+
25+
self.assertEqual(actual_result, expected, msg=error_msg)
2126

2227
@pytest.mark.task(taskno=2)
2328
def test_fix_list_of_wagons(self):
@@ -31,10 +36,15 @@ def test_fix_list_of_wagons(self):
3136
[1, 8, 6, 15, 4, 2],
3237
[1, 8, 6, 4, 5, 9, 21, 2, 13, 25, 7, 19, 10, 3, 14]
3338
]
34-
for variant, (input_data, output_data) in enumerate(zip(input_data, output_data), start=1):
35-
with self.subTest(f'variation #{variant}', input_data=input_data, output_data=output_data):
36-
error_msg=f'Expected: {output_data} but got a different wagon list instead.'
37-
self.assertEqual(fix_list_of_wagons(input_data[0], input_data[1]), output_data, msg=error_msg)
39+
for variant, (input_data, expected) in enumerate(zip(input_data, output_data), start=1):
40+
with self.subTest(f'variation #{variant}', input_data=input_data, expected=expected):
41+
42+
actual_result = fix_list_of_wagons(input_data[0], input_data[1])
43+
error_msg= (f'Called fix_list_of_wagons({input_data[0]}, {input_data[1]}). '
44+
f'The function returned {actual_result}, but the '
45+
f'tests expected: {expected} as the wagon list instead.')
46+
47+
self.assertEqual(actual_result, expected, msg=error_msg)
3848

3949
@pytest.mark.task(taskno=3)
4050
def test_add_missing_stops(self):
@@ -48,10 +58,15 @@ def test_add_missing_stops(self):
4858
{'from': 'New York', 'to': 'Philadelphia', 'stops': []},
4959
{'from': 'Gothenburg', 'to': 'Copenhagen', 'stops': ['Kungsbacka', 'Varberg', 'Halmstad', 'Angelholm', 'Lund', 'Malmo']}
5060
]
51-
for variant, (input_data, output_data) in enumerate(zip(input_data, output_data), start=1):
52-
with self.subTest(f'variation #{variant}', input_data=input_data, output_data=output_data):
53-
error_msg=f'Expected: {output_data} but got a different set of stops instead.'
54-
self.assertEqual(add_missing_stops(input_data[0], **input_data[1]), output_data, msg=error_msg)
61+
for variant, (input_data, expected) in enumerate(zip(input_data, output_data), start=1):
62+
with self.subTest(f'variation #{variant}', input_data=input_data, expected=expected):
63+
64+
actual_result = add_missing_stops(input_data[0], **input_data[1])
65+
error_msg= (f'Called add_missing_stops({input_data[0]}, {input_data[1]}). '
66+
f'The function returned {actual_result}, but the '
67+
f'tests expected: {expected} as the set of stops.')
68+
69+
self.assertEqual(actual_result, expected, msg=error_msg)
5570

5671
@pytest.mark.task(taskno=4)
5772
def test_extend_route_information(self):
@@ -63,10 +78,15 @@ def test_extend_route_information(self):
6378
{'from': 'Gothenburg', 'to': 'Copenhagen', 'precipitation': '1', 'timeOfArrival': '21:20', 'temperature': '-6'}
6479
]
6580

66-
for variant, (input_data, output_data) in enumerate(zip(input_data, output_data), start=1):
67-
with self.subTest(f'variation #{variant}', input_data=input_data, output_data=output_data):
68-
error_msg=f'Expected: {output_data} but got a different route dictionary instead.'
69-
self.assertEqual(extend_route_information(input_data[0], input_data[1]), output_data, msg=error_msg)
81+
for variant, (input_data, expected) in enumerate(zip(input_data, output_data), start=1):
82+
with self.subTest(f'variation #{variant}', input_data=input_data, expected=expected):
83+
84+
actual_result = extend_route_information(input_data[0], input_data[1])
85+
error_msg= (f'Called extend_route_information({input_data[0]}, {input_data[1]}). '
86+
f'The function returned {actual_result}, but the '
87+
f'tests expected: {expected} as the route dictionary.')
88+
89+
self.assertEqual(actual_result, expected, msg=error_msg)
7090

7191
@pytest.mark.task(taskno=5)
7292
def test_fix_wagon_depot(self):
@@ -84,7 +104,12 @@ def test_fix_wagon_depot(self):
84104
[[(3, 'purple'), (20, 'black'), (19, 'white')], [(11, 'purple'), (16, 'black'), (17, 'white')], [(15, 'purple'), (12, 'black'), (18, 'white')]]
85105
)
86106

87-
for variant, (input_data, output_data) in enumerate(zip(input_data, output_data), start=1):
88-
with self.subTest(f'variation #{variant}', input_data=input_data, output_data=output_data):
89-
error_msg=f'Expected: {output_data} but got a different wagon depot list instead.'
90-
self.assertEqual(fix_wagon_depot(input_data), output_data, msg=error_msg)
107+
for variant, (input_data, expected) in enumerate(zip(input_data, output_data), start=1):
108+
with self.subTest(f'variation #{variant}', input_data=input_data, expected=expected):
109+
110+
actual_result = fix_wagon_depot(input_data)
111+
error_msg= (f'Called fix_wagon_depot({input_data}). '
112+
f'The function returned {actual_result}, but the '
113+
f'tests expected: {expected} as the wagon depot list.')
114+
115+
self.assertEqual(actual_result, expected, msg=error_msg)

0 commit comments

Comments
 (0)