def test_imap_unordered_gc(self): it = self.pool.imap_unordered(sqr, range(10)) result = [] for i in range(10): result.append(six.advance_iterator(it)) gc.collect() self.assertRaises(StopIteration, lambda: six.advance_iterator(it)) self.assertEqual(sorted(result), [x * x for x in range(10)])
def test_imap(self): it = self.pool.imap(sqr, range(10)) self.assertEqual(list(it), list(map(squared, range(10)))) it = self.pool.imap(sqr, range(10)) for i in range(10): self.assertEqual(six.advance_iterator(it), i * i) self.assertRaises(StopIteration, lambda: six.advance_iterator(it)) it = self.pool.imap(sqr, range(1000)) for i in range(1000): self.assertEqual(six.advance_iterator(it), i * i) self.assertRaises(StopIteration, lambda: six.advance_iterator(it))
def test_imap_gc(self): it = self.pool.imap(sqr, range(10)) for i in range(10): self.assertEqual(six.advance_iterator(it), i * i) gc.collect() self.assertRaises(StopIteration, lambda: six.advance_iterator(it))