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)
Example #2
0
 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)
Example #3
0
 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()