[Python-checkins] CVS: python/dist/src/Lib/test test_iter.py,1.8,1.9
Tim Peters
tim_one@users.sourceforge.net
Thu, 03 May 2001 21:39:23 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv3611/python/dist/src/Lib/test
Modified Files:
test_iter.py
Log Message:
Generalize reduce() to work with iterators.
NEEDS DOC CHANGES.
Index: test_iter.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_iter.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** test_iter.py 2001/05/03 23:58:47 1.8
--- test_iter.py 2001/05/04 04:39:21 1.9
***************
*** 386,388 ****
--- 386,401 ----
pass
+ # Test reduces()'s use of iterators.
+ def test_builtin_reduce(self):
+ from operator import add
+ self.assertEqual(reduce(add, SequenceClass(5)), 10)
+ self.assertEqual(reduce(add, SequenceClass(5), 42), 52)
+ self.assertRaises(TypeError, reduce, add, SequenceClass(0))
+ self.assertEqual(reduce(add, SequenceClass(0), 42), 42)
+ self.assertEqual(reduce(add, SequenceClass(1)), 0)
+ self.assertEqual(reduce(add, SequenceClass(1), 42), 42)
+
+ d = {"one": 1, "two": 2, "three": 3}
+ self.assertEqual(reduce(add, d), "".join(d.keys()))
+
run_unittest(TestCase)