[Python-checkins] python/nondist/sandbox/csv/test test_csv.py,1.26,1.27
montanaro@users.sourceforge.net
montanaro@users.sourceforge.net
Mon, 10 Feb 2003 07:10:20 -0800
Update of /cvsroot/python/python/nondist/sandbox/csv/test
In directory sc8-pr-cvs1:/tmp/cvs-serv15640
Modified Files:
test_csv.py
Log Message:
add test for reading short rows (and filling in default values)
Index: test_csv.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/csv/test/test_csv.py,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** test_csv.py 10 Feb 2003 10:41:09 -0000 1.26
--- test_csv.py 10 Feb 2003 15:10:16 -0000 1.27
***************
*** 368,371 ****
--- 368,373 ----
# Disabled, pending support in csv.utils module
class TestDictFields(unittest.TestCase):
+ ### "long" means the row is longer than the number of fieldnames
+ ### "short" means there are fewer elements in the row than fieldnames
def test_write_simple_dict(self):
fileobj = StringIO()
***************
*** 379,396 ****
def test_read_dict_fields(self):
! reader = csv.DictReader(StringIO("1,2,abc\r\n"), dialect="excel",
fieldnames=["f1", "f2", "f3"])
self.assertEqual(reader.next(), {"f1": '1', "f2": '2', "f3": 'abc'})
! def test_read_short(self):
reader = csv.DictReader(StringIO("1,2,abc,4,5,6\r\n"),
fieldnames=["f1", "f2"])
self.assertEqual(reader.next(), {"f1": '1', "f2": '2'})
! def test_read_short_with_rest(self):
reader = csv.DictReader(StringIO("1,2,abc,4,5,6\r\n"),
fieldnames=["f1", "f2"], rest="_rest")
self.assertEqual(reader.next(), {"f1": '1', "f2": '2',
"_rest": ["abc", "4", "5", "6"]})
class TestArrayWrites(unittest.TestCase):
--- 381,408 ----
def test_read_dict_fields(self):
! reader = csv.DictReader(StringIO("1,2,abc\r\n"),
fieldnames=["f1", "f2", "f3"])
self.assertEqual(reader.next(), {"f1": '1', "f2": '2', "f3": 'abc'})
! def test_read_long(self):
reader = csv.DictReader(StringIO("1,2,abc,4,5,6\r\n"),
fieldnames=["f1", "f2"])
self.assertEqual(reader.next(), {"f1": '1', "f2": '2'})
! def test_read_long_with_rest(self):
reader = csv.DictReader(StringIO("1,2,abc,4,5,6\r\n"),
fieldnames=["f1", "f2"], rest="_rest")
self.assertEqual(reader.next(), {"f1": '1', "f2": '2',
"_rest": ["abc", "4", "5", "6"]})
+
+ def test_read_short(self):
+ reader = csv.DictReader(["1,2,abc,4,5,6\r\n","1,2,abc\r\n"],
+ fieldnames="1 2 3 4 5 6".split(),
+ restval="DEFAULT")
+ self.assertEqual(reader.next(), {"1": '1', "2": '2', "3": 'abc',
+ "4": '4', "5": '5', "6": '6'})
+ self.assertEqual(reader.next(), {"1": '1', "2": '2', "3": 'abc',
+ "4": 'DEFAULT', "5": 'DEFAULT',
+ "6": 'DEFAULT'})
class TestArrayWrites(unittest.TestCase):