[Python-checkins] CVS: python/dist/src/Lib/test test_iter.py,1.4,1.5

Tim Peters tim_one@users.sourceforge.net
2001年5月03日 00:00:34 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv12812/python/dist/src/Lib/test
Modified Files:
	test_iter.py 
Log Message:
Generalize max(seq) and min(seq) 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.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** test_iter.py	2001年05月02日 07:39:38	1.4
--- test_iter.py	2001年05月03日 07:00:32	1.5
***************
*** 320,322 ****
--- 320,357 ----
 self.assertEqual(filter(lambda x: not x, iter(seq)), [False]*25)
 
+ # Test max() and min()'s use of iterators.
+ def test_builtin_max_min(self):
+ self.assertEqual(max(SequenceClass(5)), 4)
+ self.assertEqual(min(SequenceClass(5)), 0)
+ self.assertEqual(max(8, -1), 8)
+ self.assertEqual(min(8, -1), -1)
+ 
+ d = {"one": 1, "two": 2, "three": 3}
+ self.assertEqual(max(d), "two")
+ self.assertEqual(min(d), "one")
+ self.assertEqual(max(d.itervalues()), 3)
+ self.assertEqual(min(iter(d.itervalues())), 1)
+ 
+ self.assertRaises(TypeError, list, list)
+ self.assertRaises(TypeError, list, 42)
+ 
+ f = open(TESTFN, "w")
+ try:
+ f.write("medium line\n")
+ f.write("xtra large line\n")
+ f.write("itty-bitty line\n")
+ finally:
+ f.close()
+ f = open(TESTFN, "r")
+ try:
+ self.assertEqual(min(f), "itty-bitty line\n")
+ f.seek(0, 0)
+ self.assertEqual(max(f), "xtra large line\n")
+ finally:
+ f.close()
+ try:
+ unlink(TESTFN)
+ except OSError:
+ pass
+ 
 run_unittest(TestCase)

AltStyle によって変換されたページ (->オリジナル) /