[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):