def test_mergesort_slower_than_sorted(self): l = [ random.randint(-1000,1001) for i in range(1000000) ] t1 = datetime.datetime.now() mergesort(l) t2 = datetime.datetime.now() sorted(l) t3 = datetime.datetime.now() self.assertGreater(t2 - t1, t3 - t2)
def test_slower_than_mergesort(self): l = [random.randint(-1000, 1001) for i in range(10000)] t1 = datetime.datetime.now() bubblesort(l) t2 = datetime.datetime.now() mergesort(l) t3 = datetime.datetime.now() self.assertLess(t3 - t2, t2 - t1)
def test_reversed_order_even_list(self): self.assertEqual(mergesort([4,3,2,1]), [1,2,3,4])
def test_large_list(self): l = [ random.randint(-1000,1001) for i in range(1000000) ] self.assertEqual(mergesort(l), sorted(l))
def test_repeating_elements(self): self.assertEqual(mergesort([2,2,2,3,2]), [2,2,2,2,3])
def test_negative_elements(self): self.assertEqual(mergesort([4,-5,2,-3,-2]), [-5,-3,-2,2,4])
def test_single_element_list(self): self.assertEqual(mergesort([1]), [1])
def test_empty_list(self): self.assertEqual(mergesort([]), [])
def test_reversed_order_odd_list(self): self.assertEqual(mergesort([5,4,3,2,1]), [1,2,3,4,5])