(self)
| 1607 | self.assertEqual(len(resultset), 120, "Key ordering: some key permutations not collected (expected 120)") |
| 1608 | |
| 1609 | def test_ordered_dict_reader(self): |
| 1610 | data = dedent('''\ |
| 1611 | FirstName,LastName |
| 1612 | Eric,Idle |
| 1613 | Graham,Chapman,Over1,Over2 |
| 1614 | |
| 1615 | Under1 |
| 1616 | John,Cleese |
| 1617 | ''').splitlines() |
| 1618 | |
| 1619 | self.assertEqual(list(csv.DictReader(data)), |
| 1620 | [OrderedDict([('FirstName', 'Eric'), ('LastName', 'Idle')]), |
| 1621 | OrderedDict([('FirstName', 'Graham'), ('LastName', 'Chapman'), |
| 1622 | (None, ['Over1', 'Over2'])]), |
| 1623 | OrderedDict([('FirstName', 'Under1'), ('LastName', None)]), |
| 1624 | OrderedDict([('FirstName', 'John'), ('LastName', 'Cleese')]), |
| 1625 | ]) |
| 1626 | |
| 1627 | self.assertEqual(list(csv.DictReader(data, restkey='OtherInfo')), |
| 1628 | [OrderedDict([('FirstName', 'Eric'), ('LastName', 'Idle')]), |
| 1629 | OrderedDict([('FirstName', 'Graham'), ('LastName', 'Chapman'), |
| 1630 | ('OtherInfo', ['Over1', 'Over2'])]), |
| 1631 | OrderedDict([('FirstName', 'Under1'), ('LastName', None)]), |
| 1632 | OrderedDict([('FirstName', 'John'), ('LastName', 'Cleese')]), |
| 1633 | ]) |
| 1634 | |
| 1635 | del data[0] # Remove the header row |
| 1636 | self.assertEqual(list(csv.DictReader(data, fieldnames=['fname', 'lname'])), |
| 1637 | [OrderedDict([('fname', 'Eric'), ('lname', 'Idle')]), |
| 1638 | OrderedDict([('fname', 'Graham'), ('lname', 'Chapman'), |
| 1639 | (None, ['Over1', 'Over2'])]), |
| 1640 | OrderedDict([('fname', 'Under1'), ('lname', None)]), |
| 1641 | OrderedDict([('fname', 'John'), ('lname', 'Cleese')]), |
| 1642 | ]) |
| 1643 | |
| 1644 | |
| 1645 | class MiscTestCase(unittest.TestCase): |
nothing calls this directly
no test coverage detected