Skip to content

Commit bbd3c62

Browse files
authored
Refactor assertEqual(actual,expected) param order
closes exercism#440
1 parent 217104e commit bbd3c62

61 files changed

Lines changed: 879 additions & 890 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

exercises/accumulate/accumulate_test.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,34 @@
55

66
class AccumulateTest(unittest.TestCase):
77
def test_empty_sequence(self):
8-
self.assertEqual([], accumulate([], lambda x: x / 2))
8+
self.assertEqual(accumulate([], lambda x: x / 2), [])
99

1010
def test_pow(self):
11-
self.assertEqual([1, 4, 9, 16, 25], accumulate([1, 2, 3, 4, 5],
12-
lambda x: x * x))
11+
self.assertEqual(
12+
accumulate([1, 2, 3, 4, 5], lambda x: x * x), [1, 4, 9, 16, 25])
1313

1414
def test_divmod(self):
15-
inp = [10, 17, 23]
16-
out = [(1, 3), (2, 3), (3, 2)]
17-
self.assertEqual(out, accumulate(inp, lambda x: divmod(x, 7)))
15+
self.assertEqual(
16+
accumulate([10, 17, 23], lambda x: divmod(x, 7)),
17+
[(1, 3), (2, 3), (3, 2)])
1818

1919
def test_composition(self):
2020
inp = [10, 17, 23]
21-
self.assertEqual(inp, accumulate(accumulate(inp, lambda x: divmod(x, 7)),
22-
lambda x: 7 * x[0] + x[1]))
21+
self.assertEqual(
22+
accumulate(
23+
accumulate(inp, lambda x: divmod(x, 7)),
24+
lambda x: 7 * x[0] + x[1]), inp)
2325

2426
def test_capitalize(self):
25-
inp = ['hello', 'world']
26-
out = ['HELLO', 'WORLD']
27-
self.assertEqual(out, accumulate(inp, str.upper))
27+
self.assertEqual(
28+
accumulate(['hello', 'world'], str.upper), ['HELLO', 'WORLD'])
2829

2930
def test_recursive(self):
30-
inp = list('abc')
31+
inp = ['a', 'b', 'c']
3132
out = [['a1', 'a2', 'a3'], ['b1', 'b2', 'b3'], ['c1', 'c2', 'c3']]
32-
self.assertEqual(out, accumulate(inp, lambda x: accumulate(list('123'),
33-
lambda y: x + y)))
33+
self.assertEqual(
34+
accumulate(
35+
inp, lambda x: accumulate(list('123'), lambda y: x + y)), out)
3436

3537

3638
if __name__ == '__main__':

exercises/acronym/acronym_test.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,26 @@
77

88
class AcronymTest(unittest.TestCase):
99
def test_basic(self):
10-
self.assertEqual('PNG', abbreviate('Portable Network Graphics'))
10+
self.assertEqual(abbreviate('Portable Network Graphics'), 'PNG')
1111

1212
def test_lowercase_words(self):
13-
self.assertEqual('ROR', abbreviate('Ruby on Rails'))
13+
self.assertEqual(abbreviate('Ruby on Rails'), 'ROR')
1414

1515
def test_camelcase(self):
16-
self.assertEqual('HTML', abbreviate('HyperText Markup Language'))
16+
self.assertEqual(abbreviate('HyperText Markup Language'), 'HTML')
1717

1818
def test_punctuation(self):
19-
self.assertEqual('FIFO', abbreviate('First In, First Out'))
19+
self.assertEqual(abbreviate('First In, First Out'), 'FIFO')
2020

2121
def test_all_caps_words(self):
22-
self.assertEqual('PHP', abbreviate('PHP: Hypertext Preprocessor'))
22+
self.assertEqual(abbreviate('PHP: Hypertext Preprocessor'), 'PHP')
2323

2424
def test_non_acronym_all_caps_word(self):
25-
self.assertEqual('GIMP', abbreviate('GNU Image Manipulation Program'))
25+
self.assertEqual(abbreviate('GNU Image Manipulation Program'), 'GIMP')
2626

2727
def test_hyphenated(self):
28-
self.assertEqual('CMOS', abbreviate('Complementary metal-oxide semiconductor'))
28+
self.assertEqual(
29+
abbreviate('Complementary metal-oxide semiconductor'), 'CMOS')
2930

3031

3132
if __name__ == '__main__':

exercises/allergies/allergies_test.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55

66
class AllergiesTests(unittest.TestCase):
7-
87
def test_no_allergies_means_not_allergic(self):
98
allergies = Allergies(0)
109
self.assertFalse(allergies.is_allergic_to('peanuts'))
@@ -21,20 +20,20 @@ def test_has_the_right_allergies(self):
2120
self.assertFalse(allergies.is_allergic_to('strawberries'))
2221

2322
def test_no_allergies_at_all(self):
24-
self.assertEqual([], Allergies(0).lst)
23+
self.assertEqual(Allergies(0).lst, [])
2524

2625
def test_allergic_to_just_peanuts(self):
27-
self.assertEqual(['peanuts'], Allergies(2).lst)
26+
self.assertEqual(Allergies(2).lst, ['peanuts'])
2827

2928
def test_allergic_to_everything(self):
3029
self.assertEqual(
30+
sorted(Allergies(255).lst),
3131
sorted(('eggs peanuts shellfish strawberries tomatoes '
32-
'chocolate pollen cats').split()),
33-
sorted(Allergies(255).lst))
32+
'chocolate pollen cats').split()))
3433

3534
@unittest.skip('Extra Credit: Passes with a specific type of solution')
3635
def test_ignore_non_allergen_score_parts(self):
37-
self.assertEqual(['eggs'], Allergies(257).lst)
36+
self.assertEqual(Allergies(257).lst, ['eggs'])
3837

3938

4039
if __name__ == '__main__':

exercises/atbash-cipher/atbash_cipher_test.py

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,61 +6,55 @@
66
# test cases adapted from `x-common//canonical-data.json` @ version: 1.0.0
77

88
class AtbashCipherTest(unittest.TestCase):
9-
109
def test_encode_no(self):
11-
self.assertMultiLineEqual("ml", encode("no"))
10+
self.assertMultiLineEqual(encode("no"), "ml")
1211

1312
def test_encode_yes(self):
14-
self.assertMultiLineEqual("bvh", encode("yes"))
13+
self.assertMultiLineEqual(encode("yes"), "bvh")
1514

1615
def test_encode_OMG(self):
17-
self.assertMultiLineEqual("lnt", encode("OMG"))
16+
self.assertMultiLineEqual(encode("OMG"), "lnt")
1817

1918
def test_encode_O_M_G(self):
20-
self.assertMultiLineEqual("lnt", encode("O M G"))
19+
self.assertMultiLineEqual(encode("O M G"), "lnt")
2120

2221
def test_encode_long_word(self):
23-
self.assertMultiLineEqual("nrmwy oldrm tob", encode("mindblowingly"))
22+
self.assertMultiLineEqual(encode("mindblowingly"), "nrmwy oldrm tob")
2423

2524
def test_encode_numbers(self):
26-
self.assertMultiLineEqual("gvhgr mt123 gvhgr mt",
27-
encode("Testing, 1 2 3, testing."))
25+
self.assertMultiLineEqual(
26+
encode("Testing, 1 2 3, testing."), "gvhgr mt123 gvhgr mt")
2827

2928
def test_encode_sentence(self):
30-
self.assertMultiLineEqual("gifgs rhurx grlm",
31-
encode("Truth is fiction."))
29+
self.assertMultiLineEqual(
30+
encode("Truth is fiction."), "gifgs rhurx grlm")
3231

3332
def test_encode_all_things(self):
3433
plaintext = "The quick brown fox jumps over the lazy dog."
3534
ciphertext = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt"
36-
self.assertMultiLineEqual(ciphertext, encode(plaintext))
35+
self.assertMultiLineEqual(encode(plaintext), ciphertext)
3736

3837
def test_decode_word(self):
39-
self.assertMultiLineEqual("exercism", decode("vcvix rhn"))
38+
self.assertMultiLineEqual(decode("vcvix rhn"), "exercism")
4039

4140
def test_decode_sentence(self):
4241
self.assertMultiLineEqual(
43-
"anobstacleisoftenasteppingstone",
44-
decode("zmlyh gzxov rhlug vmzhg vkkrm thglm v")
45-
)
42+
decode("zmlyh gzxov rhlug vmzhg vkkrm thglm v"),
43+
"anobstacleisoftenasteppingstone")
4644

4745
def test_decode_numbers(self):
4846
self.assertMultiLineEqual(
49-
"testing123testing",
50-
decode("gvhgr mt123 gvhgr mt")
51-
)
47+
decode("gvhgr mt123 gvhgr mt"), "testing123testing")
5248

5349
def test_decode_all_the_letters(self):
5450
ciphertext = "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt"
5551
plaintext = "thequickbrownfoxjumpsoverthelazydog"
56-
self.assertMultiLineEqual(plaintext, decode(ciphertext))
52+
self.assertMultiLineEqual(decode(ciphertext), plaintext)
5753

5854
# additional track specific test
5955
def test_encode_decode(self):
6056
self.assertMultiLineEqual(
61-
"testing123testing",
62-
decode(encode("Testing, 1 2 3, testing."))
63-
)
57+
decode(encode("Testing, 1 2 3, testing.")), "testing123testing")
6458

6559

6660
if __name__ == '__main__':

exercises/binary-search/binary_search_test.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,27 @@
44

55

66
class BinarySearchTests(unittest.TestCase):
7-
87
def test_finds_value_in_array_with_one_element(self):
9-
self.assertEqual(0, binary_search([6], 6))
8+
self.assertEqual(binary_search([6], 6), 0)
109

1110
def test_finds_value_in_middle_of_array(self):
12-
self.assertEqual(3, binary_search([1, 3, 4, 6, 8, 9, 11], 6))
11+
self.assertEqual(binary_search([1, 3, 4, 6, 8, 9, 11], 6), 3)
1312

1413
def test_finds_value_at_beginning_of_array(self):
15-
self.assertEqual(0, binary_search([1, 3, 4, 6, 8, 9, 11], 1))
14+
self.assertEqual(binary_search([1, 3, 4, 6, 8, 9, 11], 1), 0)
1615

1716
def test_finds_value_at_end_of_array(self):
18-
self.assertEqual(6, binary_search([1, 3, 4, 6, 8, 9, 11], 11))
17+
self.assertEqual(binary_search([1, 3, 4, 6, 8, 9, 11], 11), 6)
1918

2019
def test_finds_value_in_array_of_odd_length(self):
21-
self.assertEqual(9, binary_search(
22-
[1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 634], 144))
20+
self.assertEqual(
21+
binary_search([1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 634],
22+
144), 9)
2323

2424
def test_finds_value_in_array_of_even_length(self):
25-
self.assertEqual(5, binary_search(
26-
[1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377], 21))
25+
self.assertEqual(
26+
binary_search([1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377], 21),
27+
5)
2728

2829
def test_identifies_value_missing(self):
2930
self.assertRaises(ValueError, binary_search, [1, 3, 4, 6, 8, 9, 11], 7)
@@ -32,7 +33,8 @@ def test_value_smaller_than_arrays_minimum(self):
3233
self.assertRaises(ValueError, binary_search, [1, 3, 4, 6, 8, 9, 11], 0)
3334

3435
def test_value_larger_than_arrays_maximum(self):
35-
self.assertRaises(ValueError, binary_search, [1, 3, 4, 6, 8, 9, 11], 13)
36+
self.assertRaises(ValueError, binary_search, [1, 3, 4, 6, 8, 9, 11],
37+
13)
3638

3739
def test_empty_array(self):
3840
self.assertRaises(ValueError, binary_search, [], 1)

exercises/binary/binary_test.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,26 @@
1010

1111

1212
class BinaryTests(unittest.TestCase):
13-
1413
def test_binary_1_is_decimal_1(self):
15-
self.assertEqual(1, parse_binary("1"))
14+
self.assertEqual(parse_binary("1"), 1)
1615

1716
def test_binary_10_is_decimal_2(self):
18-
self.assertEqual(2, parse_binary("10"))
17+
self.assertEqual(parse_binary("10"), 2)
1918

2019
def test_binary_11_is_decimal_3(self):
21-
self.assertEqual(3, parse_binary("11"))
20+
self.assertEqual(parse_binary("11"), 3)
2221

2322
def test_binary_100_is_decimal_4(self):
24-
self.assertEqual(4, parse_binary("100"))
23+
self.assertEqual(parse_binary("100"), 4)
2524

2625
def test_binary_1001_is_decimal_9(self):
27-
self.assertEqual(9, parse_binary("1001"))
26+
self.assertEqual(parse_binary("1001"), 9)
2827

2928
def test_binary_11010_is_decimal_26(self):
30-
self.assertEqual(26, parse_binary("11010"))
29+
self.assertEqual(parse_binary("11010"), 26)
3130

3231
def test_binary_10001101000_is_decimal_1128(self):
33-
self.assertEqual(1128, parse_binary("10001101000"))
32+
self.assertEqual(parse_binary("10001101000"), 1128)
3433

3534
def test_invalid_binary_text_only(self):
3635
self.assertRaises(ValueError, parse_binary, "carrot")

exercises/circular-buffer/circular_buffer_test.py

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99

1010
class CircularBufferTest(unittest.TestCase):
11-
1211
def test_read_empty_buffer(self):
1312
buf = CircularBuffer(1)
1413
with self.assertRaises(BufferEmptyException):
@@ -25,8 +24,8 @@ def test_write_and_read_back_multiple_items(self):
2524
buf = CircularBuffer(2)
2625
buf.write('1')
2726
buf.write('2')
28-
self.assertEqual('1', buf.read())
29-
self.assertEqual('2', buf.read())
27+
self.assertEqual(buf.read(), '1')
28+
self.assertEqual(buf.read(), '2')
3029
with self.assertRaises(BufferEmptyException):
3130
buf.read()
3231

@@ -39,16 +38,16 @@ def test_clearing_buffer(self):
3938
buf.read()
4039
buf.write('1')
4140
buf.write('2')
42-
self.assertEqual('1', buf.read())
41+
self.assertEqual(buf.read(), '1')
4342
buf.write('3')
44-
self.assertEqual('2', buf.read())
43+
self.assertEqual(buf.read(), '2')
4544

4645
def test_alternate_write_and_read(self):
4746
buf = CircularBuffer(2)
4847
buf.write('1')
49-
self.assertEqual('1', buf.read())
48+
self.assertEqual(buf.read(), '1')
5049
buf.write('2')
51-
self.assertEqual('2', buf.read())
50+
self.assertEqual(buf.read(), '2')
5251

5352
def test_read_back_oldest_item(self):
5453
buf = CircularBuffer(3)
@@ -57,7 +56,7 @@ def test_read_back_oldest_item(self):
5756
buf.read()
5857
buf.write('3')
5958
buf.read()
60-
self.assertEqual('3', buf.read())
59+
self.assertEqual(buf.read(), '3')
6160

6261
def test_write_full_buffer(self):
6362
buf = CircularBuffer(2)
@@ -71,17 +70,17 @@ def test_overwrite_full_buffer(self):
7170
buf.write('1')
7271
buf.write('2')
7372
buf.overwrite('A')
74-
self.assertEqual('2', buf.read())
75-
self.assertEqual('A', buf.read())
73+
self.assertEqual(buf.read(), '2')
74+
self.assertEqual(buf.read(), 'A')
7675
with self.assertRaises(BufferEmptyException):
7776
buf.read()
7877

7978
def test_overwrite_non_full_buffer(self):
8079
buf = CircularBuffer(2)
8180
buf.overwrite('1')
8281
buf.overwrite('2')
83-
self.assertEqual('1', buf.read())
84-
self.assertEqual('2', buf.read())
82+
self.assertEqual(buf.read(), '1')
83+
self.assertEqual(buf.read(), '2')
8584
with self.assertRaises(BufferEmptyException):
8685
buf.read()
8786

@@ -97,11 +96,11 @@ def test_alternate_read_and_overwrite(self):
9796
buf.write(c)
9897
buf.overwrite('A')
9998
buf.overwrite('B')
100-
self.assertEqual('6', buf.read())
101-
self.assertEqual('7', buf.read())
102-
self.assertEqual('8', buf.read())
103-
self.assertEqual('A', buf.read())
104-
self.assertEqual('B', buf.read())
99+
self.assertEqual(buf.read(), '6')
100+
self.assertEqual(buf.read(), '7')
101+
self.assertEqual(buf.read(), '8')
102+
self.assertEqual(buf.read(), 'A')
103+
self.assertEqual(buf.read(), 'B')
105104
with self.assertRaises(BufferEmptyException):
106105
buf.read()
107106

0 commit comments

Comments
 (0)