You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
1.9 KiB
91 lines
1.9 KiB
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()
|