[Python-checkins] CVS: python/dist/src/Lib/test test_StringIO.py,1.6,1.7
Barry Warsaw
bwarsaw@users.sourceforge.net
Fri, 21 Sep 2001 21:33:49 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv28269/Lib/test
Modified Files:
test_StringIO.py
Log Message:
Converted test_StringIO.py to use unittest, so
Lib/test/output/test_StringIO is no longer necessary.
Also, added a test of the iterator protocol that's just been added to
StringIO's and cStringIO's.
Index: test_StringIO.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_StringIO.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** test_StringIO.py 2001/02/09 23:44:22 1.6
--- test_StringIO.py 2001/09/22 04:33:47 1.7
***************
*** 1,43 ****
# Tests StringIO and cStringIO
! def do_test(module):
! s = ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+'\n')*5
! f = module.StringIO(s)
! print f.read(10)
! print f.readline()
! print len(f.readlines(60))
- f = module.StringIO()
- f.write('abcdef')
- f.seek(3)
- f.write('uvwxyz')
- f.write('!')
- print `f.getvalue()`
- f.close()
! f = module.StringIO()
! f.writelines(["a", "b", "c"])
! f.seek(0)
! print `f.getvalue()`
! f.close()
! f = module.StringIO()
! f.write(s)
! f.seek(10)
! f.truncate()
! print `f.getvalue()`
! f.seek(0)
! f.truncate(5)
! print `f.getvalue()`
! f.close()
! try:
! f.write("frobnitz")
! except ValueError, e:
! print "Caught expected ValueError writing to closed StringIO:"
! print e
! else:
! print "Failed to catch ValueError writing to closed StringIO."
! import StringIO, cStringIO
! do_test(StringIO)
! do_test(cStringIO)
--- 1,73 ----
# Tests StringIO and cStringIO
! import unittest
! import StringIO
! import cStringIO
! import types
! import test_support
! class TestGenericStringIO(unittest.TestCase):
! # use a class variable MODULE to define which module is being tested
! def setUp(self):
! self._line = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
! self._lines = (self._line + '\n') * 5
! self._fp = self.MODULE.StringIO(self._lines)
! def test_reads(self):
! eq = self.assertEqual
! eq(self._fp.read(10), 'abcdefghij')
! eq(self._fp.readline(), 'klmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\n')
! eq(len(self._fp.readlines(60)), 2)
!
! def test_writes(self):
! f = self.MODULE.StringIO()
! f.write('abcdef')
! f.seek(3)
! f.write('uvwxyz')
! f.write('!')
! self.assertEqual(f.getvalue(), 'abcuvwxyz!')
!
! def test_writelines(self):
! f = self.MODULE.StringIO()
! f.writelines(['a', 'b', 'c'])
! f.seek(0)
! self.assertEqual(f.getvalue(), 'abc')
!
! def test_truncate(self):
! eq = self.assertEqual
! f = self.MODULE.StringIO()
! f.write(self._lines)
! f.seek(10)
! f.truncate()
! eq(f.getvalue(), 'abcdefghij')
! f.seek(0)
! f.truncate(5)
! eq(f.getvalue(), 'abcde')
! f.close()
! self.assertRaises(ValueError, f.write, 'frobnitz')
!
! def test_iterator(self):
! eq = self.assertEqual
! it = iter(self._fp)
! self.failUnless(isinstance(it, types.FunctionIterType))
! i = 0
! for line in self._fp:
! eq(line, self._line + '\n')
! i += 1
! eq(i, 5)
!
! class TestStringIO(TestGenericStringIO):
! MODULE = StringIO
!
! class TestcStringIO(TestGenericStringIO):
! MODULE = cStringIO
!
!
! def test_main():
! test_support.run_unittest(TestStringIO)
! test_support.run_unittest(TestcStringIO)
!
! if __name__ == '__main__':
! test_main()