def test_return_correct_coordinates(self): expected1 = [2, 4] expected2 = [1, 2] result1 = t.two_sum(self.example3, self.target3) result2 = t.two_sum(self.example4, self.target4) self.assertEqual(expected1, result1) self.assertEqual(expected2, result2)
def test_two_sum(self): array = [2, 7, 11, 15] # test two_sum self.assertEqual([1, 2], two_sum(array, 9)) self.assertEqual([2, 4], two_sum(array, 22)) # test two_sum1 self.assertEqual([1, 2], two_sum1(array, 9)) self.assertEqual([2, 4], two_sum1(array, 22)) # test two_sum2 self.assertEqual([1, 2], two_sum2(array, 9)) self.assertEqual([2, 4], two_sum2(array, 22))
def test_two_sum(self): test_patterns = [ ([1, 2, 3], 4, [0, 2]), ([1234, 5678, 9012], 14690, [1, 2]), ([2, 2, 3], 4, [0, 1]), ] for num, t, expected in test_patterns: with self.subTest(num=num, t=t, expected=expected): self.assertEqual(two_sum(numbers=num, target=t), expected)
def test_two_sum(self): for _ in range(1000): array = [random.randint(1, 20) for _ in range(10)] x = random.randint(1, 100) n = len(array) result = False for i in range(n): for j in range(i + 1, n): if array[i] + array[j] == x: result = True self.assertEqual(two_sum(x, array), result)
def run_2_sum(): numbers = {} with open('data/algo1_programming_prob_2sum.txt', 'r') as file: for line in file: numbers[int(line)] = True satisfied = 0 for target in range(-10000, 10001): if target % 100 == 0: print(target) if two_sum(numbers, target): satisfied += 1 print('targets satisfied: %s' % satisfied)
def test_add_neg(self): # test that a single negative number won't break it l = [-1, 2, 4, 5] self.assertEqual(two_sum(l, 1), (0, 1)) self.assertEqual(two_sum(l, 3), (0, 2)) self.assertEqual(two_sum(l, 4), (0, 3)) # test that a negative target won't break it l2 = [-5, 1, 3, 4, 5] self.assertEqual(two_sum(l2, -4), (0, 1)) self.assertEqual(two_sum(l2, -2), (0, 2)) self.assertEqual(two_sum(l2, -1), (0, 3)) self.assertEqual(two_sum(l2, 0), (0, 4))
def test_dual_neg(self): # test that it can add two negative numbers l = [-2, -3, -4, -10] self.assertEqual(two_sum(l, -5), (0, 1)) self.assertEqual(two_sum(l, -6), (0, 2)) self.assertEqual(two_sum(l, -12), (0, 3)) self.assertEqual(two_sum(l, -7), (1, 2)) self.assertEqual(two_sum(l, -13), (1, 3)) self.assertEqual(two_sum(l, -14), (2, 3))
def test_base_case(self): l = [2, 3, 5, 7] result = two_sum(l, 8) self.assertEqual(result, (1, 2)) result2 = two_sum(l, 5) self.assertEqual(result2, (0, 1)) result3 = two_sum(l, 12) self.assertEqual(result3, (2, 3)) result4 = two_sum(l, 7) self.assertEqual(result4, (0, 2)) result5 = two_sum(l, 9) self.assertEqual(result5, (0, 3)) # this test also ensures that it won't return (2, 2) # which is an edge case that wasn't included self.assertEqual(two_sum(l, 10), (1, 3))
def test_one_value(): assert two_sum([1], 9) == "No solution"
def test_list_range_10(self): result = two_sum([4, 10, 13, 8, 6, 5, 4, 23, 34, 88], 57) self.assertEqual(result, [7, 8])
def test_list_range_12(self): result = two_sum([17, 10, 18, 7, 65, 25, 40], 24) self.assertEqual(result, [0, 3])
def test_simple_3(self): self.assertEqual(two_sum([3, 7, 12, 15], 18), [0, 3])
def test_list_range_8(self): result = two_sum([1, 10, 10, 8, 6, 5, 4, 56], 60) self.assertEqual(result, [6, 7])
def test_two_sum(self): self.assertEqual(two_sum([2, 7, 11, 15], 9), [0, 1]) self.assertEqual(two_sum([3, 2, 4], 6), [1, 2])
def test_two_sum_1(): test_list = [2, 7, 11, 15] test_target = 9 assert two_sum(test_list, test_target) == [0, 1]
def test_finds_the_right_indices(): nums = [1, 2, 3, 5, 8] target = 11 index_one, index_two = two_sum(nums, target) assert index_one == 2 assert index_two == 4
def test_case_1(self): expected = [0, 1] result = t.two_sum(self.example1, 9) self.assertEqual(expected, result)
def test_not_enough_elements(): with pytest.raises(Exception): nums = [1] target = 11 index_one, index_two = two_sum(nums, target)
def test_no_sums_in_elements(): with pytest.raises(Exception): nums = [1, 2, 3] target = 200 index_one, index_two = two_sum(nums, target)
def test_function(self): self.assertEqual(two_sum([2, 7, 9, 11], 9), [[0, 1]]) self.assertEqual(two_sum([1, 2, 3, 4, 5], 5), [[1, 2], [0, 3]]) self.assertEqual(two_sum([2, 1, 5, 3, 2], 4), [[1, 3], [0, 4]])
def test_true(): """True case test.""" assert two_sum([1, 2, 5, 6, 7], 9) == [1, 4] assert two_sum_dict([1, 2, 5, 6, 7], 9) == [1, 4]
def test_two_sum(): assert sorted(two_sum([1, 2, 3], 4)) == [0, 2] assert sorted(two_sum([1234, 5678, 9012], 14690)) == [1, 2] assert sorted(two_sum([2, 2, 3], 4)) == [0, 1]
def test_correct_sum_first_two_idx(): assert two_sum([1, 2], 3) == [0, 1]
def test_simple(self): self.assertEqual(two_sum([2, 7, 11, 15], 9), [0, 1])
def test_correct_sum_misc_idx(): assert two_sum([1, 2, 3, 4, 5, 6], 8) == [2, 4]
def test_list_range_10(self): result = two_sum ([1, 3, 5, 7, 2, 9, 4, 6, 10], 5) self.assertEqual(result,[1,4])
def test_add_zero(self): l = [2, 3, 0, 6] result = two_sum(l, 3) self.assertEqual(result, (1, 2)) self.assertEqual(two_sum(l, 2), (0, 2)) self.assertEqual(two_sum(l, 6), (2, 3))
def test_two_sum(self): li = [3, 1, 4, 1, 5, 9, 2, 6] merge_sort(li, 0, len(li) - 1) self.assertEqual(two_sum(li, 12), (3, 7))
def test_case_6(self): expected = [1, 3] result = t.two_sum(self.example5, 12) self.assertEqual(expected, result)
def test_list_range_6(self): res = two_sum([1,2,3,4,5,6], 11) self.assertEqual(res, [4,5])
def test_list_range_7(self): result = two_sum([1, 10, 10, 8, 6, 5, 4], 12) self.assertEqual(result, [3, 6])
def test_list_range_7(self): res = two_sum([2,5,1,7,6,3,8], 15) self.assertEqual(res,[3,6])
def test_list_range_9(self): result = two_sum([100, 50, 70, 80, 6, 5, 4, 2, 5], 150) self.assertEqual(result, [0, 1])
def test_list_range_8(self): res = two_sum([2,5,1,7,6,3,8,10], 18) self.assertEqual(res,[6,7])
def test_list_range_3(self): result = two_sum([5, 55, 60], 65) self.assertEqual(result, [0, 2])
def test_list_range_9(self): res = two_sum([5,4,23,7,2,9,11,6,8], 25) self.assertEqual(res,[2,4])
def test_list_range_5(self): result = two_sum([7, 9, 10, 8, 6], 18) self.assertEqual(result, [2, 3])
def test_list_range_10(self): res = two_sum([2,5,1,7,6,3,8,54,12,9], 19) self.assertEqual(res,[3,8])
def test_cannot_equal_target(): assert two_sum([1, 2, 3], 20) == "No solution"
def test_list_range_2(self): result = two_sum([1, 2], 3) self.assertEqual(result,[0, 1])
def test_correct_sum_0th_and_random_idx(): assert two_sum([1, 2, 3], 4) == [0, 2]
def test_list_range_6(self): result = two_sum([2, 6, 1, 5, 10, 4], 5) self.assertEqual(result,[2, 5])
def test_empty_list(): assert two_sum([], 9) == "No solution"
def test_list_range_8(self): result = two_sum([7, 6, 0, 22, 3, 41, 6, 5], 12) self.assertEqual(result,[0, 7])
def test_two_sum(self): input = [10000, 2, 1, 9999, 2] result = two_sum(input) self.assertEqual(result, 2)
def test_list_range_10(self): result = two_sum([3, 7, 6, 1, 22, 2, 41, 6, 5], 6) self.assertEqual(result,[3, 8])
def test_simple_2(self): self.assertEqual(two_sum([3, 7, 11, 15], 26), [2, 3])
def test_list_range_4(self): result = two_sum([2,3,1,7], 8) self.assertEqual(result,[2,3])
def test_list_range_11(self): res = two_sum([13,4,6,8,9,12,15,25,78,23,5], 38) self.assertEqual(res,[0,7])
def test_case_5(self): expected = [] result = t.two_sum(self.example4, 4) self.assertEqual(expected, result)
def test_list_range_3(self): result = two_sum([5, 10, 1], 6) self.assertEqual(result,[0, 2])
def test_list_range_12(self): res = two_sum([2,5,1,7,6,3,8,54,12,9,15,30], 42) self.assertEqual(res,[8,11])
def test_list_range_7(self): result = two_sum([2, 6, 9, 1, 5, 10, 4], 5) self.assertEqual(result,[3, 6])
def test_list_range_13(self): res = two_sum([12,4,67,8,5,23,55,16,9,11,2,50,78], 105) self.assertEqual(res,[6,11])
def test_list_range_9(self): result = two_sum([7, 6, 0, 0, 13, 41, 6, 2, ], 15) self.assertEqual(result,[4, 7])
def test_list_range_14(self): res = two_sum([2,5,1,7,6,3,8,54,12,9,78,45,32,90], 144) self.assertEqual(res,[7,13])
def test_list_range_14(self): result = two_sum([2, 0, 0, 1, 1, 1, 10, 1, 52, 20, 3, 0], 2) self.assertEqual(result,[0, 1])
def test_list_range_5(self): res = two_sum([2,3,4,5,6], 9) self.assertEqual(res,[1,4])
def test_list_range_5(self): result = two_sum([5, 1, 2, 3, 4], 3) self.assertEqual(result,[1, 2])
def test_list_range_6(self): result = two_sum([2, 9, 15, 8, 6, 7], 13) self.assertEqual(result, [4, 5])