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

Method test_iterator_pickle

Lib/test/test_array.py:327–362  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

325 self.assertEqual(type(a), type(b))
326
327 def test_iterator_pickle(self):
328 orig = array.array(self.typecode, self.example)
329 data = list(orig)
330 data2 = data[::-1]
331 for proto in range(pickle.HIGHEST_PROTOCOL + 1):
332 # initial iterator
333 itorig = iter(orig)
334 d = pickle.dumps((itorig, orig), proto)
335 it, a = pickle.loads(d)
336 a.fromlist(data2)
337 self.assertEqual(type(it), type(itorig))
338 self.assertEqual(list(it), data + data2)
339
340 # running iterator
341 next(itorig)
342 d = pickle.dumps((itorig, orig), proto)
343 it, a = pickle.loads(d)
344 a.fromlist(data2)
345 self.assertEqual(type(it), type(itorig))
346 self.assertEqual(list(it), data[1:] + data2)
347
348 # empty iterator
349 for i in range(1, len(data)):
350 next(itorig)
351 d = pickle.dumps((itorig, orig), proto)
352 it, a = pickle.loads(d)
353 a.fromlist(data2)
354 self.assertEqual(type(it), type(itorig))
355 self.assertEqual(list(it), data2)
356
357 # exhausted iterator
358 self.assertRaises(StopIteration, next, itorig)
359 d = pickle.dumps((itorig, orig), proto)
360 it, a = pickle.loads(d)
361 a.fromlist(data2)
362 self.assertEqual(list(it), [])
363
364 def test_exhausted_iterator(self):
365 a = array.array(self.typecode, self.example)

Callers 1

test_iterator_pickleMethod · 0.45

Calls 9

assertRaisesMethod · 0.95
listClass · 0.85
iterFunction · 0.85
nextFunction · 0.85
lenFunction · 0.85
fromlistMethod · 0.80
dumpsMethod · 0.45
loadsMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected