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

Method test_update

Lib/test/test_ordered_dict.py:68–112  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

66 self.assertEqual(list(d.items()), items)
67
68 def test_update(self):
69 OrderedDict = self.OrderedDict
70 with self.assertRaises(TypeError):
71 OrderedDict().update([('a', 1), ('b', 2)], None) # too many args
72 pairs = [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]
73 od = OrderedDict()
74 od.update(dict(pairs))
75 self.assertEqual(sorted(od.items()), pairs) # dict input
76 od = OrderedDict()
77 od.update(**dict(pairs))
78 self.assertEqual(sorted(od.items()), pairs) # kwds input
79 od = OrderedDict()
80 od.update(pairs)
81 self.assertEqual(list(od.items()), pairs) # pairs input
82 od = OrderedDict()
83 od.update([('a', 1), ('b', 2), ('c', 9), ('d', 4)], c=3, e=5)
84 self.assertEqual(list(od.items()), pairs) # mixed input
85
86 # Issue 9137: Named argument called 'other' or 'self'
87 # shouldn't be treated specially.
88 od = OrderedDict()
89 od.update(self=23)
90 self.assertEqual(list(od.items()), [('self', 23)])
91 od = OrderedDict()
92 od.update(other={})
93 self.assertEqual(list(od.items()), [('other', {})])
94 od = OrderedDict()
95 od.update(red=5, blue=6, other=7, self=8)
96 self.assertEqual(sorted(list(od.items())),
97 [('blue', 6), ('other', 7), ('red', 5), ('self', 8)])
98
99 # Make sure that direct calls to update do not clear previous contents
100 # add that updates items are not moved to the end
101 d = OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 44), ('e', 55)])
102 d.update([('e', 5), ('f', 6)], g=7, d=4)
103 self.assertEqual(list(d.items()),
104 [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5), ('f', 6), ('g', 7)])
105
106 self.assertRaises(TypeError, OrderedDict().update, 42)
107 self.assertRaises(TypeError, OrderedDict().update, (), ())
108 self.assertRaises(TypeError, OrderedDict.update)
109
110 self.assertRaises(TypeError, OrderedDict().update, 42)
111 self.assertRaises(TypeError, OrderedDict().update, (), ())
112 self.assertRaises(TypeError, OrderedDict.update)
113
114 def test_init_calls(self):
115 calls = []

Callers

nothing calls this directly

Calls 6

itemsMethod · 0.95
listClass · 0.85
OrderedDictClass · 0.70
assertRaisesMethod · 0.45
updateMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected