[Python-checkins] python/nondist/sandbox/csv/test test_csv.py,1.20,1.21

andrewmcnamara@users.sourceforge.net andrewmcnamara@users.sourceforge.net
Thu, 06 Feb 2003 20:46:27 -0800


Update of /cvsroot/python/python/nondist/sandbox/csv/test
In directory sc8-pr-cvs1:/tmp/cvs-serv14308/test

Modified Files:
	test_csv.py 
Log Message:
Commented out tests that were failing due to changed API, added tests for
dialect registry, fixed bugs in dialect registry... 8-)


Index: test_csv.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/csv/test/test_csv.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** test_csv.py	6 Feb 2003 04:51:47 -0000	1.20
--- test_csv.py	7 Feb 2003 04:46:25 -0000	1.21
***************
*** 8,12 ****
  import _csv
  
! class Test_Csv(unittest.TestCase):
      """
      Test the underlying C csv parser in ways that are not appropriate 
--- 8,13 ----
  import _csv
  
! # Disabled pending update to new API
! class xTest_Csv(unittest.TestCase):
      """
      Test the underlying C csv parser in ways that are not appropriate 
***************
*** 241,245 ****
          self.readerAssertEqual('"abc\\,def"\r\n', [['abc,def']])
  
! class TestDictFields(unittest.TestCase):
      def test_write_simple_dict(self):
          fileobj = StringIO()
--- 242,247 ----
          self.readerAssertEqual('"abc\\,def"\r\n', [['abc,def']])
  
! # Disabled, pending support in csv.utils module
! class xTestDictFields(unittest.TestCase):
      def test_write_simple_dict(self):
          fileobj = StringIO()
***************
*** 310,336 ****
          self.assertEqual(fileobj.getvalue(), expected)
  
! class TestDialects(unittest.TestCase):
!     def test_register(self):
!         class myexceltsv(csv.excel):
!             delimiter = "\t"
!         csv.register_dialect("myexceltsv", myexceltsv)
!         self.assertEqual(isinstance(csv.get_dialect("myexceltsv"),
!                                     myexceltsv), 1==1)
!         csv.unregister_dialect("myexceltsv")
! 
!     def test_get(self):
!         self.assertEqual(isinstance(csv.get_dialect("excel"),
!                                     csv.excel), 1==1)
! 
!     def test_list(self):
!         for dname in csv.list_dialects():
!             d = csv.get_dialect(dname)
!             self.assertEqual(d._name, dname)
  
!     def test_bad_register(self):
!         class myexceltsv:
              delimiter = "\t"
!         self.assertRaises(TypeError, csv.register_dialect,
!                           "myexceltsv", myexceltsv)
  
      def test_incomplete_dialect(self):
--- 312,343 ----
          self.assertEqual(fileobj.getvalue(), expected)
  
! class TestDialectRegistry(unittest.TestCase):
!     def test_registry_badargs(self):
!         self.assertRaises(TypeError, csv.list_dialects, None)
!         self.assertRaises(TypeError, csv.get_dialect, None)
!         self.assertRaises(csv.Error, csv.get_dialect, "nonesuch")
!         self.assertRaises(TypeError, csv.unregister_dialect, None)
!         self.assertRaises(csv.Error, csv.unregister_dialect, "nonesuch")
!         self.assertRaises(TypeError, csv.register_dialect, None)
!         self.assertRaises(TypeError, csv.register_dialect, "nonesuch", None)
!         class bogus:
!             def __init__(self):
!                 raise KeyError
!         self.assertRaises(KeyError, csv.register_dialect, "nonesuch", bogus)
  
!     def test_registry(self):
!         class myexceltsv(csv.excel):
              delimiter = "\t"
!         name = "myexceltsv"
!         expected_dialects = csv.list_dialects() + [name]
!         expected_dialects.sort()
!         csv.register_dialect(name, myexceltsv)
!         try:
!             self.failUnless(isinstance(csv.get_dialect(name), myexceltsv))
!             got_dialects = csv.list_dialects()
!             got_dialects.sort()
!             self.assertEqual(expected_dialects, got_dialects)
!         finally:
!             csv.unregister_dialect(name)
  
      def test_incomplete_dialect(self):
***************
*** 339,349 ****
          self.assertRaises(csv.Error, myexceltsv)
  
!     def test_dialect_class(self):
!         class myexceltsv(csv.excel):
              delimiter = "\t"
!         fileobj = StringIO()
!         writer = csv.writer(fileobj, dialect=myexceltsv())
!         writer.writerow([1,2,3])
!         self.assertEqual(fileobj.getvalue(), "1\t2\t3\r\n")
  
              
--- 346,385 ----
          self.assertRaises(csv.Error, myexceltsv)
  
!     def test_dialect_apply(self):
!         class testA(csv.excel):
              delimiter = "\t"
!         class testB(csv.excel):
!             delimiter = ":"
!         class testC(csv.excel):
!             delimiter = "|"
! 
!         csv.register_dialect('testC', testC)
!         try:
!             fileobj = StringIO()
!             writer = csv.writer(fileobj)
!             writer.writerow([1,2,3])
!             self.assertEqual(fileobj.getvalue(), "1,2,3\r\n")
! 
!             fileobj = StringIO()
!             writer = csv.writer(fileobj, testA)
!             writer.writerow([1,2,3])
!             self.assertEqual(fileobj.getvalue(), "1\t2\t3\r\n")
! 
!             fileobj = StringIO()
!             writer = csv.writer(fileobj, dialect=testB())
!             writer.writerow([1,2,3])
!             self.assertEqual(fileobj.getvalue(), "1:2:3\r\n")
! 
!             fileobj = StringIO()
!             writer = csv.writer(fileobj, dialect='testC')
!             writer.writerow([1,2,3])
!             self.assertEqual(fileobj.getvalue(), "1|2|3\r\n")
! 
!             fileobj = StringIO()
!             writer = csv.writer(fileobj, dialect=testA, delimiter=';')
!             writer.writerow([1,2,3])
!             self.assertEqual(fileobj.getvalue(), "1;2;3\r\n")
!         finally:
!             csv.unregister_dialect('testC')