[Python-checkins] python/dist/src/Lib/test test_bisect.py,1.5,1.6
rhettinger@users.sourceforge.net
rhettinger@users.sourceforge.net
Thu, 16 Jan 2003 06:00:17 -0800
Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1:/tmp/cvs-serv14733
Modified Files:
test_bisect.py
Log Message:
Let test_random cover the endpoints.
Strengthen slicing tests.
Improved variable names.
Index: test_bisect.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_bisect.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** test_bisect.py 16 Jan 2003 13:02:25 -0000 1.5
--- test_bisect.py 16 Jan 2003 14:00:15 -0000 1.6
***************
*** 88,100 ****
def test_precomputed(self):
! for func, list, elt, expected in self.precomputedCases:
! self.assertEqual(func(list, elt), expected)
! def test_random(self, n=20):
from random import randrange
for i in xrange(n):
data = [randrange(0, n, 2) for j in xrange(i)]
data.sort()
! elem = randrange(n)
ip = bisect_left(data, elem)
if ip < len(data):
--- 88,100 ----
def test_precomputed(self):
! for func, data, elem, expected in self.precomputedCases:
! self.assertEqual(func(data, elem), expected)
! def test_random(self, n=25):
from random import randrange
for i in xrange(n):
data = [randrange(0, n, 2) for j in xrange(i)]
data.sort()
! elem = randrange(-1, n+1)
ip = bisect_left(data, elem)
if ip < len(data):
***************
*** 109,117 ****
def test_optionalSlicing(self):
! for func, list, elt, expected in self.precomputedCases:
! lo = min(len(list), 1)
! self.failUnless(func(list, elt, lo=lo) >= lo)
! hi = min(len(list), 2)
! self.failUnless(func(list, elt, hi=hi) <= hi)
def test_backcompatibility(self):
--- 109,128 ----
def test_optionalSlicing(self):
! for func, data, elem, expected in self.precomputedCases:
! for lo in xrange(4):
! lo = min(len(data), lo)
! for hi in xrange(3,8):
! hi = min(len(data), hi)
! ip = func(data, elem, lo, hi)
! self.failUnless(lo <= ip <= hi)
! if func is bisect_left and ip < hi:
! self.failUnless(elem <= data[ip])
! if func is bisect_left and ip > lo:
! self.failUnless(data[ip-1] < elem)
! if func is bisect_right and ip < hi:
! self.failUnless(elem < data[ip])
! if func is bisect_right and ip > lo:
! self.failUnless(data[ip-1] <= elem)
! self.assertEqual(ip, max(lo, min(hi, expected)))
def test_backcompatibility(self):