[pypy-svn] r15634 - pypy/dist/pypy/objspace/std/test
ale at codespeak.net
ale at codespeak.net
Thu Aug 4 18:40:49 CEST 2005
Author: ale
Date: Thu Aug 4 18:40:48 2005
New Revision: 15634
Modified:
pypy/dist/pypy/objspace/std/test/test_iterobject.py
Log:
Addded some test for len(iter).
Commented out test for deque,xrange and reversed, since they do not pass
Modified: pypy/dist/pypy/objspace/std/test/test_iterobject.py
==============================================================================
--- pypy/dist/pypy/objspace/std/test/test_iterobject.py (original)
+++ pypy/dist/pypy/objspace/std/test/test_iterobject.py Thu Aug 4 18:40:48 2005
@@ -2,7 +2,6 @@
from pypy.objspace.std.iterobject import W_SeqIterObject
from pypy.interpreter.error import OperationError
-
class TestW_IterObject:
def body3(self, w_iter):
@@ -59,3 +58,96 @@
raises(TypeError,
iter,
C())
+
+class AppTest_IterObject:
+
+ def check_iter(self,iterable):
+ it = iter(iterable)
+ for i in reversed(range(len(it))):
+ assert len(it) == i+1
+ x = it.next()
+ print x
+ raises(StopIteration, it.next)
+ assert len(it) == 0
+
+ def test_iter_len_tuple(self):
+ iterable = (1,2,3,4)
+ it = iter(iterable)
+ for i in reversed(range(len(it))):
+ assert len(it) == i+1
+ x = it.next()
+ print x
+ raises(StopIteration, it.next)
+ assert len(it) == 0
+
+ def test_iter_len_dict(self):
+ iterable = {1:1,2:2,3:3,4:4}
+ it = iter(iterable)
+ length = len(it)
+ for i in reversed(range(length)):
+ assert len(it) == i+1
+ x = it.next()
+ raises(StopIteration, it.next)
+ assert len(it) == 0
+
+ def test_iter_len_list(self):
+ iterable = [1,2,3,4]
+ it = iter(iterable)
+ for i in reversed(range(len(it))):
+ assert len(it) == i+1
+ x = it.next()
+ print x
+ raises(StopIteration, it.next)
+ assert len(it) == 0
+
+ def test_iter_len_str(self):
+ iterable = 'Hello World'
+ it = iter(iterable)
+ for i in reversed(range(len(it))):
+ assert len(it) == i+1
+ x = it.next()
+ print x
+ raises(StopIteration, it.next)
+ assert len(it) == 0
+
+ def test_iter_len_set(self):
+ iterable = set((1,2,3,4))
+ it = iter(iterable)
+ for i in reversed(range(len(it))):
+ assert len(it) == i+1
+ x = it.next()
+ print x
+ raises(StopIteration, it.next)
+ assert len(it) == 0
+
+## def test_iter_len_deque(self):
+## from collections import deque
+##
+## iterable = deque((1,2,3,4))
+## it = iter(iterable)
+## for i in reversed(range(len(it))):
+## assert len(it) == i+1
+## x = it.next()
+## print x
+## raises(StopIteration, it.next)
+## assert len(it) == 0
+##
+## def test_iter_len_xrange(self):
+## iterable = xrange(8)
+## it = iter(iterable)
+## for i in reversed(range(len(it))):
+## assert len(it) == i+1
+## x = it.next()
+## print x
+## raises(StopIteration, it.next)
+## assert len(it) == 0
+##
+## def test_iter_len_reversed(self):
+## iterable = reversed((1,2,3,4))
+## it = iter(iterable)
+## for i in reversed(range(len(it))):
+## assert len(it) == i+1
+## x = it.next()
+## print x
+## raises(StopIteration, it.next)
+## assert len(it) == 0
More information about the Pypy-commit
mailing list