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

Guido van Rossum gvanrossum@users.sourceforge.net
Mon, 11 Jun 2001 12:05:30 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv20536

Modified Files:
      Tag: descr-branch
	test_iter.py 
Log Message:
Add test_builtin_list() to test that list() of an iterator works.


Index: test_iter.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_iter.py,v
retrieving revision 1.2
retrieving revision 1.2.2.1
diff -C2 -r1.2 -r1.2.2.1
*** test_iter.py	2001/04/21 13:33:54	1.2
--- test_iter.py	2001/06/11 19:05:28	1.2.2.1
***************
*** 244,246 ****
--- 244,278 ----
                  pass
  
+     # Test list()'s use of iterators.
+     def test_builtin_list(self):
+         self.assertEqual(list(SequenceClass(5)), range(5))
+         self.assertEqual(list(SequenceClass(0)), [])
+         self.assertEqual(list(()), [])
+         self.assertEqual(list(range(10, -1, -1)), range(10, -1, -1))
+ 
+         d = {"one": 1, "two": 2, "three": 3}
+         self.assertEqual(list(d), d.keys())
+ 
+         self.assertRaises(TypeError, list, list)
+         self.assertRaises(TypeError, list, 42)
+ 
+         f = open(TESTFN, "w")
+         try:
+             for i in range(5):
+                 f.write("%d\n" % i)
+         finally:
+             f.close()
+         f = open(TESTFN, "r")
+         try:
+             self.assertEqual(list(f), ["0\n", "1\n", "2\n", "3\n", "4\n"])
+             f.seek(0, 0)
+             self.assertEqual(list(f.xreadlines()),
+                              ["0\n", "1\n", "2\n", "3\n", "4\n"])
+         finally:
+             f.close()
+             try:
+                 unlink(TESTFN)
+             except OSError:
+                 pass
+ 
  run_unittest(TestCase)