Example #1
0
    def test_missing_in_between(self):
        self.assertEqual(-1, binary_search.search_recursive(2, [1, 3, 5]))
        self.assertEqual(-1, binary_search.search_recursive(4, [1, 3, 5]))

        self.assertEqual(-1, binary_search.search_recursive(2, [1, 3, 5, 7]))
        self.assertEqual(-1, binary_search.search_recursive(4, [1, 3, 5, 7]))
        self.assertEqual(-1, binary_search.search_recursive(6, [1, 3, 5, 7]))
Example #2
0
    def test_search_out_of_boundary(self):
        self.assertEqual(-1, binary_search.search_recursive(3, [1]))

        self.assertEqual(-1, binary_search.search_recursive(0, [1, 3, 5]))
        self.assertEqual(-1, binary_search.search_recursive(6, [1, 3, 5]))

        self.assertEqual(-1, binary_search.search_recursive(0, [1, 3, 5, 7]))
        self.assertEqual(-1, binary_search.search_recursive(8, [1, 3, 5, 7]))
Example #3
0
 def test_find_in_four(self):
     self.assertEqual(0, binary_search.search_recursive(1, [1, 3, 5, 7]))
     self.assertEqual(1, binary_search.search_recursive(3, [1, 3, 5, 7]))
     self.assertEqual(2, binary_search.search_recursive(5, [1, 3, 5, 7]))
     self.assertEqual(3, binary_search.search_recursive(7, [1, 3, 5, 7]))
     self.assertEqual(3, binary_search.search_recursive(7, [1, 3, 5, 7, 9]))
Example #4
0
 def test_find_in_three(self):
     self.assertEqual(0, binary_search.search_recursive(1, [1, 3, 5]))
     self.assertEqual(1, binary_search.search_recursive(3, [1, 3, 5]))
     self.assertEqual(2, binary_search.search_recursive(5, [1, 3, 5]))
Example #5
0
 def test_find_in_two(self):
     self.assertEqual(0, binary_search.search_recursive(1, [1, 3]))
Example #6
0
 def test_search_empty(self):
     self.assertEqual(-1, binary_search.search_recursive(3, []))
Example #7
0
 def test_long_one_recursive(self):
     self.assertEqual(0, binary_search.search_recursive(0, self.long_array))