MCPcopy Index your code
hub / github.com/python/cpython / test_ordered_dict_reader

Method test_ordered_dict_reader

Lib/test/test_csv.py:1645–1678  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1643 self.assertEqual(len(resultset), 120, "Key ordering: some key permutations not collected (expected 120)")
1644
1645 def test_ordered_dict_reader(self):
1646 data = dedent('''\
1647 FirstName,LastName
1648 Eric,Idle
1649 Graham,Chapman,Over1,Over2
1650
1651 Under1
1652 John,Cleese
1653 ''').splitlines()
1654
1655 self.assertEqual(list(csv.DictReader(data)),
1656 [OrderedDict([('FirstName', 'Eric'), ('LastName', 'Idle')]),
1657 OrderedDict([('FirstName', 'Graham'), ('LastName', 'Chapman'),
1658 (None, ['Over1', 'Over2'])]),
1659 OrderedDict([('FirstName', 'Under1'), ('LastName', None)]),
1660 OrderedDict([('FirstName', 'John'), ('LastName', 'Cleese')]),
1661 ])
1662
1663 self.assertEqual(list(csv.DictReader(data, restkey='OtherInfo')),
1664 [OrderedDict([('FirstName', 'Eric'), ('LastName', 'Idle')]),
1665 OrderedDict([('FirstName', 'Graham'), ('LastName', 'Chapman'),
1666 ('OtherInfo', ['Over1', 'Over2'])]),
1667 OrderedDict([('FirstName', 'Under1'), ('LastName', None)]),
1668 OrderedDict([('FirstName', 'John'), ('LastName', 'Cleese')]),
1669 ])
1670
1671 del data[0] # Remove the header row
1672 self.assertEqual(list(csv.DictReader(data, fieldnames=['fname', 'lname'])),
1673 [OrderedDict([('fname', 'Eric'), ('lname', 'Idle')]),
1674 OrderedDict([('fname', 'Graham'), ('lname', 'Chapman'),
1675 (None, ['Over1', 'Over2'])]),
1676 OrderedDict([('fname', 'Under1'), ('lname', None)]),
1677 OrderedDict([('fname', 'John'), ('lname', 'Cleese')]),
1678 ])
1679
1680
1681class MiscTestCase(unittest.TestCase):

Callers

nothing calls this directly

Calls 5

dedentFunction · 0.90
OrderedDictClass · 0.90
listClass · 0.85
splitlinesMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected