MCPcopy Index your code
hub / github.com/RustPython/RustPython / _check_reduce

Method _check_reduce

Lib/test/test_descr.py:5312–5340  ·  view source on GitHub ↗
(self, proto, obj, args=(), kwargs={}, state=None,
                      listitems=None, dictitems=None)

Source from the content-addressed store, hash-verified

5310class PicklingTests(unittest.TestCase):
5311
5312 def _check_reduce(self, proto, obj, args=(), kwargs={}, state=None,
5313 listitems=None, dictitems=None):
5314 if proto >= 2:
5315 reduce_value = obj.__reduce_ex__(proto)
5316 if kwargs:
5317 self.assertEqual(reduce_value[0], copyreg.__newobj_ex__)
5318 self.assertEqual(reduce_value[1], (type(obj), args, kwargs))
5319 else:
5320 self.assertEqual(reduce_value[0], copyreg.__newobj__)
5321 self.assertEqual(reduce_value[1], (type(obj),) + args)
5322 self.assertEqual(reduce_value[2], state)
5323 if listitems is not None:
5324 self.assertListEqual(list(reduce_value[3]), listitems)
5325 else:
5326 self.assertIsNone(reduce_value[3])
5327 if dictitems is not None:
5328 self.assertDictEqual(dict(reduce_value[4]), dictitems)
5329 else:
5330 self.assertIsNone(reduce_value[4])
5331 else:
5332 base_type = type(obj).__base__
5333 reduce_value = (copyreg._reconstructor,
5334 (type(obj),
5335 base_type,
5336 None if base_type is object else base_type(obj)))
5337 if state is not None:
5338 reduce_value += (state,)
5339 self.assertEqual(obj.__reduce_ex__(proto), reduce_value)
5340 self.assertEqual(obj.__reduce__(), reduce_value)
5341
5342 def test_reduce(self):
5343 protocols = range(pickle.HIGHEST_PROTOCOL + 1)

Callers 2

test_reduceMethod · 0.95

Calls 7

listClass · 0.85
assertListEqualMethod · 0.80
assertIsNoneMethod · 0.80
assertDictEqualMethod · 0.80
__reduce_ex__Method · 0.45
assertEqualMethod · 0.45
__reduce__Method · 0.45

Tested by

no test coverage detected