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

Method test_getitem

Lib/test/test_dict.py:157–193  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

155 self.assertEqual(len(d), 2)
156
157 def test_getitem(self):
158 d = {'a': 1, 'b': 2}
159 self.assertEqual(d['a'], 1)
160 self.assertEqual(d['b'], 2)
161 d['c'] = 3
162 d['a'] = 4
163 self.assertEqual(d['c'], 3)
164 self.assertEqual(d['a'], 4)
165 del d['b']
166 self.assertEqual(d, {'a': 4, 'c': 3})
167
168 self.assertRaises(TypeError, d.__getitem__)
169
170 class BadEq(object):
171 def __eq__(self, other):
172 raise Exc()
173 def __hash__(self):
174 return 24
175
176 d = {}
177 d[BadEq()] = 42
178 self.assertRaises(KeyError, d.__getitem__, 23)
179
180 class Exc(Exception): pass
181
182 class BadHash(object):
183 fail = False
184 def __hash__(self):
185 if self.fail:
186 raise Exc()
187 else:
188 return 42
189
190 x = BadHash()
191 d[x] = 42
192 x.fail = True
193 self.assertRaises(Exc, d.__getitem__, x)
194
195 def test_clear(self):
196 d = {1:1, 2:2, 3:3}

Callers

nothing calls this directly

Calls 4

BadEqClass · 0.70
BadHashClass · 0.70
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected