[Python-checkins] python/dist/src/Lib/test test_deque.py,1.6,1.7

rhettinger at users.sourceforge.net rhettinger at users.sourceforge.net
Mon Mar 1 18:16:24 EST 2004


Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4871/lib/test

Modified Files:
	test_deque.py 
Log Message:
Replace left(), right(), and __reversed__() with the more general purpose
__getitem__() and __setitem__().  

Simplifies the API, reduces the code size, adds flexibility, and makes
deques work with bisect.bisect(), random.shuffle(), and random.sample().



Index: test_deque.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_deque.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** test_deque.py	29 Feb 2004 02:15:56 -0000	1.6
--- test_deque.py	1 Mar 2004 23:16:21 -0000	1.7
***************
*** 5,8 ****
--- 5,9 ----
  import cPickle as pickle
  from cStringIO import StringIO
+ import random
  
  BIG = 100000
***************
*** 58,68 ****
          self.assertEqual(list(d), list(reversed('abcd')))
  
!     def test_leftright(self):
          d = deque('superman')
!         self.assertEqual(d.left(), 's')
!         self.assertEqual(d.right(), 'n')
          d = deque()
!         self.assertRaises(IndexError, d.left)
!         self.assertRaises(IndexError, d.right)
  
      def test_rotate(self):
--- 59,93 ----
          self.assertEqual(list(d), list(reversed('abcd')))
  
!     def test_getitem(self):
!         n = 200
!         d = deque(xrange(n))
!         l = range(n)
!         for i in xrange(n):
!             d.popleft()
!             l.pop(0)
!             if random.random() < 0.5:
!                 d.append(i)
!                 l.append(i)
!             for j in xrange(1-len(l), len(l)):
!                 assert d[j] == l[j]
! 
          d = deque('superman')
!         self.assertEqual(d[0], 's')
!         self.assertEqual(d[-1], 'n')
          d = deque()
!         self.assertRaises(IndexError, d.__getitem__, 0)
!         self.assertRaises(IndexError, d.__getitem__, -1)
! 
!     def test_setitem(self):
!         n = 200
!         d = deque(xrange(n))
!         for i in xrange(n):
!             d[i] = 10 * i
!         self.assertEqual(list(d), [10*i for i in xrange(n)])
!         l = list(d)
!         for i in xrange(1-n, 0, -1):
!             d[i] = 7*i
!             l[i] = 7*i
!         self.assertEqual(list(d), l)
  
      def test_rotate(self):
***************
*** 406,410 ****
  >>> d = deque('ghi')                 # make a new deque with three items
  >>> for elem in d:                   # iterate over the deque's elements
! ...     print elem.upper()	
  G
  H
--- 431,435 ----
  >>> d = deque('ghi')                 # make a new deque with three items
  >>> for elem in d:                   # iterate over the deque's elements
! ...     print elem.upper()
  G
  H
***************
*** 420,426 ****
  >>> list(d)                          # list the contents of the deque
  ['g', 'h', 'i']
! >>> d.left()                         # peek at leftmost item
  'g'
! >>> d.right()                        # peek at rightmost item
  'i'
  >>> list(reversed(d))                # list the contents of a deque in reverse
--- 445,451 ----
  >>> list(d)                          # list the contents of the deque
  ['g', 'h', 'i']
! >>> d[0]                             # peek at leftmost item
  'g'
! >>> d[-1]                            # peek at rightmost item
  'i'
  >>> list(reversed(d))                # list the contents of a deque in reverse
***************
*** 477,481 ****
              counts[i] = sys.gettotalrefcount()
          print counts
!         
      # doctests
      from test import test_deque
--- 502,506 ----
              counts[i] = sys.gettotalrefcount()
          print counts
! 
      # doctests
      from test import test_deque




More information about the Python-checkins mailing list