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

Method test_update

Lib/test/mapping_tests.py:196–289  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

194 self.assertRaises(KeyError, p.popitem)
195
196 def test_update(self):
197 # mapping argument
198 d = self._empty_mapping()
199 d.update(self.other)
200 self.assertEqual(list(d.items()), list(self.other.items()))
201
202 # No argument
203 d = self._empty_mapping()
204 d.update()
205 self.assertEqual(d, self._empty_mapping())
206
207 # item sequence
208 d = self._empty_mapping()
209 d.update(self.other.items())
210 self.assertEqual(list(d.items()), list(self.other.items()))
211
212 # Iterator
213 d = self._empty_mapping()
214 d.update(self.other.items())
215 self.assertEqual(list(d.items()), list(self.other.items()))
216
217 # FIXME: Doesn't work with UserDict
218 # self.assertRaises((TypeError, AttributeError), d.update, None)
219 self.assertRaises((TypeError, AttributeError), d.update, 42)
220
221 outerself = self
222 class SimpleUserDict:
223 def __init__(self):
224 self.d = outerself.reference
225 def keys(self):
226 return self.d.keys()
227 def __getitem__(self, i):
228 return self.d[i]
229 d.clear()
230 d.update(SimpleUserDict())
231 i1 = sorted(d.items())
232 i2 = sorted(self.reference.items())
233 self.assertEqual(i1, i2)
234
235 class Exc(Exception): pass
236
237 d = self._empty_mapping()
238 class FailingUserDict:
239 def keys(self):
240 raise Exc
241 self.assertRaises(Exc, d.update, FailingUserDict())
242
243 d.clear()
244
245 class FailingUserDict:
246 def keys(self):
247 class BogonIter:
248 def __init__(self):
249 self.i = 1
250 def __iter__(self):
251 return self
252 def __next__(self):
253 if self.i:

Callers

nothing calls this directly

Calls 10

listClass · 0.85
SimpleUserDictClass · 0.70
FailingUserDictClass · 0.70
badseqClass · 0.70
_empty_mappingMethod · 0.45
updateMethod · 0.45
assertEqualMethod · 0.45
itemsMethod · 0.45
assertRaisesMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected