import random import unittest import sorting class TestInsertionSort(unittest.TestCase): def test_example(self): tmpl = [8, 2, 4, 9, 3, 6] a = tmpl[:] expected = [2, 3, 4, 6, 8, 9] sorting.insertion_sort(a) self.assertEqual(expected, a) def test_100_example(self): tmpl = list(range(0, 1000)) a = tmpl[:] random.shuffle(a) expected = tmpl[:] sorting.insertion_sort(a) self.assertEqual(expected, a) def test_reversed_100_example(self): tmpl = list(range(0, 1000)) a = list(reversed(tmpl[:])) expected = tmpl[:] sorting.insertion_sort(a) self.assertEqual(expected, a) def test_1000_example(self): tmpl = list(range(0, 1000)) a = tmpl[:] random.shuffle(a) expected = tmpl[:] sorting.insertion_sort(a) self.assertEqual(expected, a) class TestMergeSort(unittest.TestCase): def test_example(self): tmpl = [8, 2, 4, 9, 3, 6] a = tmpl[:] expected = [2, 3, 4, 6, 8, 9] actual = sorting.merge_sort(a) self.assertEqual(expected, actual) def test_100_example(self): tmpl = list(range(0, 1000)) a = tmpl[:] random.shuffle(a) expected = tmpl[:] actual = sorting.merge_sort(a) self.assertEqual(expected, actual) def test_reversed_100_example(self): tmpl = list(range(0, 1000)) a = list(reversed(tmpl[:])) expected = tmpl[:] actual = sorting.merge_sort(a) self.assertEqual(expected, actual) def test_1000_example(self): tmpl = list(range(0, 1000)) a = tmpl[:] random.shuffle(a) expected = tmpl[:] actual = sorting.merge_sort(a) self.assertEqual(expected, actual) if __name__ == '__main__': unittest.main()