def test_large(self): for n in (10, 100, 10 ** 5): for max_value in (1, 2, 10, 10 ** 5): array = [randint(0, max_value) for _ in range(n)] sorted_array = sorted(list(array)) randomized_quick_sort(array, 0, len(array) - 1) self.assertEqual(array, sorted_array)
def test_small(self): for array in [ ([1, 2, 3]), ([3, 2, 1]), ]: sorted_array = sorted(list(array)) randomized_quick_sort(array, 0, len(array) - 1) self.assertEqual(array, sorted_array)
def test_small(self): for array in [ # ([1, 2, 3]), # ([3, 2, 1]), ([9, 6, 4, 1, 9, 5, 8, 8, 6, 2]) ]: sorted_array = sorted(list(array)) randomized_quick_sort(array, 0, len(array) - 1) self.assertEqual(array, sorted_array)
def test_small(self): for array in [ # ([1, 2, 3]), ([3, 2, 1]), ([2, 3, 9, 2, 9]), ([40, 63, 89, 63, 63]) ]: sorted_array = sorted(list(array)) randomized_quick_sort(array, 0, len(array) - 1) self.assertEqual(array, sorted_array)
def test_small(self): for array in [([1, 2, 3]), ([3, 2, 1]), ([1, 1, 7, 7, 0, 8]), ([1, 0, 1, 0, 1, 1, 1, 1, 0, 0]), ([ 94531, 48089, 79506, 39398, 60450, 77713, 12997, 85603, 47297, 88096 ])]: sorted_array = sorted(list(array)) randomized_quick_sort(array, 0, len(array) - 1) self.assertEqual(array, sorted_array)
from test_helper import run_common_tests, failed, passed, check_tests_pass from quicksort import randomized_quick_sort from random import randint if __name__ == '__main__': run_common_tests() check_tests_pass("quicksort_unit_tests.py") all_tests_passed = True for n in (3, 4, 5, 10, 100): for array in ([1] * n, [n - i for i in range(n)], [i for i in range(n)], [randint(0, n) for _ in range(n)]): sorted_array = sorted(list(array)) randomized_quick_sort(array, 0, len(array) - 1) if sorted_array != array: all_tests_passed = False failed("Wrong answer for array={}".format(array)) break if all_tests_passed: passed()