diff --git a/00_binary_search/bin_search.py b/00_binary_search/bin_search.py index 600657f..58504da 100644 --- a/00_binary_search/bin_search.py +++ b/00_binary_search/bin_search.py @@ -19,6 +19,15 @@ def bin_search(arr, t): Searches for t in arr, using a binary search. Returns t index in arr if it is found, None otherwise """ + try: + length = len(arr) + except TypeError: + return None + + if arr is None or length < 1 : + return None + + return None diff --git a/00_binary_search/bin_search_test.py b/00_binary_search/bin_search_test.py index 759ae6a..65af80b 100644 --- a/00_binary_search/bin_search_test.py +++ b/00_binary_search/bin_search_test.py @@ -15,9 +15,28 @@ class test_bin_search(unittest.TestCase): self.s1 = 3 self.res1 = None - def test_shuffle(self): + self.arr2 = None + self.arr3 = [] + self.arr4 = 345 + + def test_bin_search(self): + # Test None input + res = bin_search(self.arr2, self.s1) + self.assertEqual(res, self.res1) + + # Test empty table + res = bin_search(self.arr3, self.s1) + self.assertEqual(res, self.res1) + + # Test strange input + res = bin_search(self.arr4, self.s1) + self.assertEqual(res, self.res1) + + # Test simple table res = bin_search(self.arr1, self.s1) self.assertEqual(res, self.res1) + + if __name__ == '__main__': unittest.main()