예제 #1
0
파일: testcase.py 프로젝트: docete/Hmilyl
 def theory4(self, s, target):
     '''若target在s中,且位置为n,则返回n'''
     ret = self.getTargetPostions(s, target)
     if ret:
         self.assertTrue( (bsearch(s, 0, len(s)-1, target) in ret) )
예제 #2
0
파일: testcase.py 프로젝트: docete/Hmilyl
 def theory2(self, s, target):
     '''若二分查找返回n(n >= 0),则target必包含在s中,且在s中的位置是n'''
     ret = bsearch(s, 0, len(s)-1, target)
     if (ret >= 0):
         self.assertEqual(target, s[ret])
예제 #3
0
파일: testcase.py 프로젝트: docete/Hmilyl
 def theory3(self, s, target):
     '''若target不在s中,则返回-1'''
     if not self.containsTarget(s, target):
         self.assertEqual(-1, bsearch(s, 0, len(s)-1, target))
예제 #4
0
파일: testcase.py 프로젝트: docete/Hmilyl
 def theory1(self, s, target):
     '''若二分查找返回-1,则target必不在s中 '''
     ret = bsearch(s, 0, len(s)-1, target)
     if ret == -1:
         self.assertFalse(self.containsTarget(s, target))
예제 #5
0
파일: testcase.py 프로젝트: docete/Hmilyl
 def test_bound_itemlocation(self):
     s = [-324, -3, -1, 0, 42, 99, 101]
     self.assertEqual(0, bsearch(s, 0, len(s)-1, -324));
     self.assertEqual(3, bsearch(s, 0, len(s)-1, 0));
     self.assertEqual(6, bsearch(s, 0, len(s)-1, 101));
예제 #6
0
파일: testcase.py 프로젝트: docete/Hmilyl
 def test_bound_size_one(self):
     '''[boundary test] array with one element'''
     s = [42]
     self.assertEqual(0, bsearch(s, 0, len(s)-1, 42))
예제 #7
0
파일: testcase.py 프로젝트: docete/Hmilyl
 def test_bound_empty(self):
     '''[boundary test] empty array'''
     s = []
     self.assertEqual(-1, bsearch(s, 0, len(s)-1, 42))
예제 #8
0
파일: testcase.py 프로젝트: docete/Hmilyl
 def test_mock(self):
     '''[mock test] normal case'''
     s = [1, 4, 42, 55, 67, 87, 100, 245]
     self.assertEqual(2, bsearch(s, 0, len(s)-1, 42))
     self.assertEqual(-1, bsearch(s, 0, len(s)-1, 43))