def test_small_array_without_target_with_all_elements_greater_than_target( self): nums = [1, 2, 3, 4] target = -1 calculated = Solution().search_insert(nums, target) expected = 0 self.assertEqual(calculated, expected)
def test_medium_array_without_target_and_all_elems_larger_than_target( self): nums = [x for x in range(100)] target = -1 calculated = Solution().search_insert(nums, target) expected = 0 self.assertEqual(calculated, expected)
def test_search_insert(self): inputs = ( ([1, 3, 5, 6], 5), ([1, 3, 5, 6], 2), ([1, 3, 5, 6], 7), ) outs = (2, 1, 4, 0) for inp, out in zip(inputs, outs): self.assertEqual(Solution().searchInsert(*inp), out)
def test_search_insert_postion(self): sol = Solution() self.assertEqual(sol.searchInsert([1, 2, 3, 4, 5], 3), 2) self.assertEqual(sol.searchInsert([1, 2, 3, 4, 5], 6), 5) self.assertEqual(sol.searchInsert([1, 3, 5, 6], 5), 2) self.assertEqual(sol.searchInsert([1, 3, 5, 6], 2), 1) self.assertEqual(sol.searchInsert([1, 3, 5, 6], 0), 0) self.assertEqual(sol.searchInsert([1], 0), 0)
def test_array_with_single_target_element(self): nums = [1] target = 1 calculated = Solution().search_insert(nums, target) expected = 0 self.assertEqual(calculated, expected)
def test_medium_array_without_target(self): nums = [x for x in range(1, 50, 2)] target = 20 calculated = Solution().search_insert(nums, target) expected = 10 self.assertEqual(calculated, expected)
def test_small_array_without_target(self): nums = [1, 2, 4, 5] target = 3 calculated = Solution().search_insert(nums, target) expected = 2 self.assertEqual(calculated, expected)