[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