python/dist/src/Lib/test test_itertools.py, 1.34, 1.35 test_enumerate.py, 1.13, 1.14

Update of /cvsroot/python/python/dist/src/Lib/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10714 Modified Files: test_itertools.py test_enumerate.py Log Message: Improve test coverage. Index: test_itertools.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/test/test_itertools.py,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- test_itertools.py 28 Sep 2004 04:45:28 -0000 1.34 +++ test_itertools.py 29 Sep 2004 11:40:50 -0000 1.35 @@ -420,6 +420,14 @@ a = [] self.makecycle(cycle([a]*2), a) + def test_dropwhile(self): + a = [] + self.makecycle(dropwhile(bool, [0, a, a]), a) + + def test_groupby(self): + a = [] + self.makecycle(groupby([a]*2, lambda x:x), a) + def test_ifilter(self): a = [] self.makecycle(ifilter(lambda x:True, [a]*2), a) @@ -440,10 +448,18 @@ a = [] self.makecycle(islice([a]*2, None), a) + def test_repeat(self): + a = [] + self.makecycle(repeat(a), a) + def test_starmap(self): a = [] self.makecycle(starmap(lambda *t: t, [(a,a)]*2), a) + def test_takewhile(self): + a = [] + self.makecycle(takewhile(bool, [1, 0, a, a]), a) + def R(seqn): 'Regular generator' for i in seqn: Index: test_enumerate.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/test/test_enumerate.py,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- test_enumerate.py 27 Sep 2004 15:29:04 -0000 1.13 +++ test_enumerate.py 29 Sep 2004 11:40:50 -0000 1.14 @@ -145,6 +145,35 @@ # This is an implementation detail, not an interface requirement for s in ('hello', tuple('hello'), list('hello'), xrange(5)): self.assertEqual(len(reversed(s)), len(s)) + r = reversed(s) + list(r) + self.assertEqual(len(r), 0) + class SeqWithWeirdLen: + called = False + def __len__(self): + if not self.called: + self.called = True + return 10 + raise ZeroDivisionError + def __getitem__(self, index): + return index + r = reversed(SeqWithWeirdLen()) + self.assertRaises(ZeroDivisionError, len, r) + + + def test_gc(self): + class Seq: + def __len__(self): + return 10 + def __getitem__(self, index): + return index + s = Seq() + r = reversed(s) + s.r = r + + def test_args(self): + self.assertRaises(TypeError, reversed) + self.assertRaises(TypeError, reversed, [], 'extra') def test_main(verbose=None): testclasses = (EnumerateTestCase, SubclassTestCase, TestEmpty, TestBig,
participants (1)
-
rhettingerīŧ users.sourceforge.net