Files
Coding4Interviews/00_binary_search/bin_search_test.py
Julien Lengrand-Lambert 7166bb43d0 Length 1 case handled
2013-06-28 18:09:52 +02:00

55 lines
1.2 KiB
Python

"""
Unit tests for the binary search algorithm
@jlengrand
2013/07
"""
from bin_search import bin_search
import unittest
class test_bin_search(unittest.TestCase):
def setUp(self):
self.arr1 = [1, 2, 3, 4, 5]
self.s1 = 3
self.res1 = False
self.arr2 = None
self.arr3 = []
self.arr4 = 345
self.arr5 = [3]
self.s51 = 1
self.res51 = False
self.s52 = 3
self.res52 = True
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)
# Testing length1 array
res = bin_search(self.arr5, self.s51)
self.assertEqual(res, self.res51)
res = bin_search(self.arr5, self.s52)
self.assertEqual(res, self.res52)
if __name__ == '__main__':
unittest.main()