def test_normal(self): items1 = list(range(100)) items2 = [-i for i in range(100, -1, -1)] assert merge(items1, items2) == items2 + items1 items1 = sorted([randint(0, 1000) for _ in range(1000)]) items2 = sorted([randint(0, 1000) for _ in range(1000)]) assert merge(items1, items2) == sorted(items1 + items2)
def test_merge_on_large_list_with_negatives(self): T1 = [1, 1, 1, 5, 6, 7, 8] T2 = [9, 15, 16, 20] result = merge(T1, T2) assert result == [1, 1, 1, 5, 6, 7, 8, 9, 15, 16, 20] T3 = [-15, -10, 0, 5, 6] T4 = [12, 15, 20, 25, 30] result = merge(T3, T4) assert result == [-15, -10, 0, 5, 6, 12, 15, 20, 25, 30]
def test_merge(self): items1 = [1, 4, 5] #sorted items2 = [2, 3, 6] #sorted assert merge(items1, items2) == [1, 2, 3, 4, 5, 6] items3 = [] #empty items4 = [1] assert merge(items3, items4) == [1] items5 = [2, 3, 7] assert merge(items2, items5) == [2, 2, 3, 3, 6, 7]
def test_merge_on_non_numerical_data(self): '''Two sorted lists are combined in a larger sorted list.''' # on strings items1 = ['A', 'C', 'E', 'X'] items2 = ['B', 'D', 'Y', 'Z'] assert merge(items1, items2) == ['A', 'B', 'C', 'D', 'E', 'X', 'Y', 'Z'] # on tuples items1 = [(1, 'A'), (8, 'class')] items2 = [(2, 'baboon')] assert merge(items1, items2) == [(1, 'A'), (2, 'baboon'), (8, 'class')]
def test_merge_on_small_list_with_decimal(self): T1 = [5, 6] T2 = [9, 10] result = merge(T1, T2) assert result == [5, 6, 9, 10] T3 = [20, 25, 76] T4 = [80, 89, 95] result = merge(T3, T4) assert result == [20, 25, 76, 80, 89, 95] T5 = [-20, 20, 25.5, 30] T6 = [35.2, 35.5, 40] result = merge(T5, T6) assert result == [-20, 20, 25.5, 30, 35.2, 35.5, 40]
def test_merge(self): items1, items2 = [1, 2], [3, 4] # in order list1 = merge(items1, items2) assert list1 == [1, 2, 3, 4] items1, items2 = [1, 2, 3], [3, 4, 5] # duplicate input list1 = merge(items1, items2) assert list1 == [1, 2, 3, 3, 4, 5] items1, items2 = [1, 2, 3], [4, 5, 6] list1 = merge(items1, items2) assert list1 == [1, 2, 3, 4, 5, 6] items1, items2 = [1, 2, 3, 4], [3, 4, 5, 6] # multiple duplicates/overlap list1 = merge(items1, items2) assert list1 == [1, 2, 3, 3, 4, 4, 5, 6]
def test_merge(self): first, second = [0, 1, 3, 5, 7, 9, 11], [0, 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20] combined = merge(first, second) assert combined == [ 0, 0, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20 ] third, fourth = ['Absol', 'Charizard', 'Mew', 'Misdreavous' ], ['Absol', 'Gyrados', 'Milotic', 'Pikachu'] combined2 = merge(third, fourth) assert combined2 == [ 'Absol', 'Absol', 'Charizard', 'Gyrados', 'Mew', 'Milotic', 'Misdreavous', 'Pikachu' ]
def test_edges(self): assert merge([], []) == [] items = list(range(100)) assert merge(items, []) == items assert merge([], items) == items assert merge(items, items) == sorted(items + items)
def test_merge_larger_l2(self): l1 = [5] l2 = [1, 2, 3, 6, 7, 9] l3 = merge(l1, l2) assert l3 == [1, 2, 3, 5, 6, 7, 9]
def test_merge_larger_l1(self): l1 = [2, 3, 4, 5] l2 = [1] l3 = merge(l1, l2) assert l3 == [1, 2, 3, 4, 5]
def test_reverse_merge(self): l1 = [3, 4] l2 = [1, 2] l3 = merge(l1, l2) assert l3 == [1, 2, 3, 4]
def test_merge_on_lists_different_sizes(self): '''Two sorted lists are combined in a larger sorted list.''' items1 = [1, 2, 4, 5] items2 = [3, 8] assert merge(items1, items2) == [1, 2, 3, 4, 5, 8]
def test_merge_on_integers(self): '''Two sorted lists are combined in a larger sorted list.''' items1 = [1, 2, 4, 5] items2 = [3, 6, 7, 8] assert merge(items1, items2) == [1, 2, 3, 4, 5, 6, 7, 8]