def test2(self): A = [6, 8, 5, 2, 2, 2, 4, 5, 6, 7, 2, 1, 0] res = [] for i in range(len(A)): res.append(quick_select(A, i)) target = sorted(A) self.assertEqual(target, res)
def test_of_size_1(self): A = random.sample(range(10000), 2000) sorted_A = sorted(A) for i in range(len(A)): self.assertEqual( quick_select(A, i), sorted_A[i])
def test1(self): A = [0, 0, 1, 2, 3, 4, 5, 6, 7] res = quick_select(A, 0) self.assertEqual(0, res)
def test_quick_select_for_extinct_array(): arr = arange(1, 101) random.shuffle(arr) indices = [1, 10, 30, 50, 70, 90, 100] for index in indices: assert quick_select(arr, index) == index
def test_quick_select_for_constant_array(): assert quick_select(array([1, 1, 1, 1]), 3) == 1
def test_quick_select_for_two_element_array(): assert quick_select(array([4, 5]), 2) == 5
def test_quick_select_for_one_element_array(): assert quick_select(array([2]), 1) == 2