[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)