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

Method test_pickling_subclass

Lib/test/datetimetester.py:219–240  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

217 self.assertIs(type(derived), tzinfo)
218
219 def test_pickling_subclass(self):
220 # Make sure we can pickle/unpickle an instance of a subclass.
221 offset = timedelta(minutes=-300)
222 for otype, args in [
223 (PicklableFixedOffset, (offset, 'cookie')),
224 (PicklableFixedOffsetWithSlots, (offset, 'cookie')),
225 (timezone, (offset,)),
226 (timezone, (offset, "EST"))]:
227 orig = otype(*args)
228 oname = orig.tzname(None)
229 self.assertIsInstance(orig, tzinfo)
230 self.assertIs(type(orig), otype)
231 self.assertEqual(orig.utcoffset(None), offset)
232 self.assertEqual(orig.tzname(None), oname)
233 for pickler, unpickler, proto in pickle_choices:
234 green = pickler.dumps(orig, proto)
235 derived = unpickler.loads(green)
236 self.assertIsInstance(derived, tzinfo)
237 self.assertIs(type(derived), otype)
238 self.assertEqual(derived.utcoffset(None), offset)
239 self.assertEqual(derived.tzname(None), oname)
240 self.assertNotHasAttr(derived, 'spam')
241
242 def test_issue23600(self):
243 DSTDIFF = DSTOFFSET = timedelta(hours=1)

Callers

nothing calls this directly

Calls 9

timedeltaClass · 0.90
assertIsInstanceMethod · 0.80
assertNotHasAttrMethod · 0.80
tznameMethod · 0.45
assertIsMethod · 0.45
assertEqualMethod · 0.45
utcoffsetMethod · 0.45
dumpsMethod · 0.45
loadsMethod · 0.45

Tested by

no test coverage detected