Skip to content

Commit 4867816

Browse files
Merge pull request #708 from jonathanhanley/master
Updated sorting tests to make tests more readable.
2 parents a68ec8a + 38a86ec commit 4867816

File tree

1 file changed

+33
-42
lines changed

1 file changed

+33
-42
lines changed

tests/test_sort.py

Lines changed: 33 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -22,82 +22,73 @@
2222
import unittest
2323

2424

25+
def is_sorted(array):
26+
"""
27+
Helper function to check if the given array is sorted.
28+
:param array: Array to check if sorted
29+
:return: True if sorted in ascending order, else False
30+
"""
31+
for i in range(len(array) - 1):
32+
if array[i] > array[i + 1]:
33+
return False
34+
35+
return True
36+
37+
2538
class TestSuite(unittest.TestCase):
2639
def test_bogo_sort(self):
27-
self.assertEqual([1, 5, 23],
28-
bogo_sort([1, 23, 5]))
40+
self.assertTrue(is_sorted(bogo_sort([1, 23, 5])))
2941

3042
def test_bitonic_sort(self):
31-
self.assertEqual([1, 2, 3, 5, 23, 57, 65, 1232],
32-
bitonic_sort([1, 3, 2, 5, 65, 23, 57, 1232]))
33-
self.assertEqual([1, 2, 3, 5, 23, 57, 65, 1232],
34-
bitonic_sort([1, 3, 2, 5, 65, 23, 57, 1232],False))
35-
self.assertEqual([1232, 65, 57, 23, 5, 3, 2, 1],
36-
bitonic_sort([1, 2, 3, 5, 65, 23, 57, 1232],True))
43+
self.assertTrue(is_sorted(bitonic_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
3744

3845
def test_bubble_sort(self):
39-
self.assertEqual([1, 5, 23, 57, 65, 1232],
40-
bubble_sort([1, 5, 65, 23, 57, 1232]))
46+
self.assertTrue(is_sorted(bubble_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
4147

4248
def test_comb_sort(self):
43-
self.assertEqual([1, 5, 23, 57, 65, 1232],
44-
comb_sort([1, 5, 65, 23, 57, 1232]))
49+
self.assertTrue(is_sorted(comb_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
4550

4651
def test_counting_sort(self):
47-
self.assertEqual([1, 5, 23, 57, 65, 1232],
48-
counting_sort([1, 5, 65, 23, 57, 1232]))
49-
self.assertEqual([-1232, -65, -57, -23, -5, -1],
50-
counting_sort([-1, -5, -65, -23, -57, -1232]))
52+
self.assertTrue(is_sorted(counting_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
5153

5254
def test_cycle_sort(self):
53-
self.assertEqual([1, 5, 23, 57, 65, 1232],
54-
cycle_sort([1, 5, 65, 23, 57, 1232]))
55+
self.assertTrue(is_sorted(cycle_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
5556

5657
def test_heap_sort(self):
57-
self.assertEqual([1, 5, 23, 57, 65, 1232],
58-
max_heap_sort([1, 5, 65, 23, 57, 1232]))
59-
self.assertEqual([1, 5, 23, 57, 65, 1232],
60-
min_heap_sort([1, 5, 65, 23, 57, 1232]))
58+
self.assertTrue(is_sorted(max_heap_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
59+
60+
self.assertTrue(is_sorted(min_heap_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
6161

6262
def test_insertion_sort(self):
63-
self.assertEqual([1, 5, 23, 57, 65, 1232],
64-
insertion_sort([1, 5, 65, 23, 57, 1232]))
63+
self.assertTrue(is_sorted(bitonic_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
6564

6665
def test_merge_sort(self):
67-
self.assertEqual([1, 5, 23, 57, 65, 1232],
68-
merge_sort([1, 5, 65, 23, 57, 1232]))
66+
self.assertTrue(is_sorted(merge_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
6967

7068
def test_pancake_sort(self):
71-
self.assertEqual([1, 5, 23, 57, 65, 1232],
72-
pancake_sort([1, 5, 65, 23, 57, 1232]))
69+
self.assertTrue(is_sorted(pancake_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
7370

7471
def test_quick_sort(self):
75-
self.assertEqual([1, 5, 23, 57, 65, 1232],
76-
quick_sort([1, 5, 65, 23, 57, 1232]))
72+
self.assertTrue(is_sorted(quick_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
7773

7874
def test_selection_sort(self):
79-
self.assertEqual([1, 5, 23, 57, 65, 1232],
80-
selection_sort([1, 5, 65, 23, 57, 1232]))
75+
self.assertTrue(is_sorted(selection_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
8176

8277
def test_bucket_sort(self):
83-
self.assertEqual([1, 5, 23, 57, 65, 1232],
84-
bucket_sort([1, 5, 65, 23, 57, 1232]))
78+
self.assertTrue(is_sorted(bucket_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
8579

8680
def test_shell_sort(self):
87-
self.assertEqual([1, 5, 23, 57, 65, 1232],
88-
shell_sort([1, 5, 65, 23, 57, 1232]))
81+
self.assertTrue(is_sorted(shell_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
8982

9083
def test_radix_sort(self):
91-
self.assertEqual([1, 5, 23, 57, 65, 1232],
92-
radix_sort([1, 5, 65, 23, 57, 1232]))
84+
self.assertTrue(is_sorted(radix_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
9385

9486
def test_gnome_sort(self):
95-
self.assertEqual([1, 5, 23, 57, 65, 1232],
96-
gnome_sort([1, 5, 65, 23, 57, 1232]))
87+
self.assertTrue(is_sorted(gnome_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
9788

9889
def test_cocktail_shaker_sort(self):
99-
self.assertEqual([1, 5, 23, 57, 65, 1232],
100-
cocktail_shaker_sort([1, 5, 65, 23, 57, 1232]))
90+
self.assertTrue(is_sorted(cocktail_shaker_sort([1, 3, 2, 5, 65, 23, 57, 1232])))
91+
10192

10293
class TestTopSort(unittest.TestCase):
10394
def setUp(self):

0 commit comments

Comments
 (0)