Lines Matching refs:self

26     def generator1(self):
27 return (yield from self.generator2())
29 def generator2(self):
37 def test_raise_and_yield_from(self):
38 gen = self.generator1()
44 self.assertIs(type(exc), StopIteration)
45 self.assertEqual(exc.value, "PASSED")
50 def test_frame_resurrect(self):
64 self.assertIs(wr(), None)
65 self.assertTrue(frame)
69 def test_refcycle(self):
84 self.assertGreater(sys.getrefcount(g), 2)
85 self.assertFalse(finalized)
88 self.assertTrue(finalized)
89 self.assertEqual(gc.garbage, old_garbage)
91 def test_lambda_generator(self):
106 self.assertEqual(next(gen), 1)
107 with self.assertRaises(StopIteration) as cm:
109 self.assertEqual(cm.exception.value, 2)
114 def test_name(self):
120 self.assertEqual(gen.__name__, "func")
121 self.assertEqual(gen.__qualname__,
127 self.assertEqual(gen.__name__, "name")
128 self.assertEqual(gen.__qualname__, "qualname")
131 self.assertRaises(TypeError, setattr, gen, '__name__', 123)
132 self.assertRaises(TypeError, setattr, gen, '__qualname__', 123)
133 self.assertRaises(TypeError, delattr, gen, '__name__')
134 self.assertRaises(TypeError, delattr, gen, '__qualname__')
140 self.assertEqual(gen.__name__, "func_name")
141 self.assertEqual(gen.__qualname__, "func_qualname")
145 self.assertEqual(gen.__name__,
147 self.assertEqual(gen.__qualname__,
150 def test_copy(self):
154 with self.assertRaises(TypeError):
157 def test_pickle(self):
162 with self.assertRaises((TypeError, pickle.PicklingError)):
165 def test_send_non_none_to_new_gen(self):
169 with self.assertRaises(TypeError):
171 self.assertEqual(next(g), 1)
173 def test_handle_frame_object_in_creation(self):
195 def __del__(self):
209 def test_ag_frame_f_back(self):
213 self.assertIsNone(ag.ag_frame.f_back)
215 def test_cr_frame_f_back(self):
219 self.assertIsNone(cr.cr_frame.f_back)
222 def test_gi_frame_f_back(self):
226 self.assertIsNone(gi.gi_frame.f_back)
234 def test_except_throw(self):
237 self.assertEqual(sys.exc_info()[0], None)
241 self.assertEqual(sys.exc_info()[0], ValueError)
242 self.assertIsNone(exc.__context__)
246 self.assertEqual(sys.exc_info()[0], ValueError)
264 with self.assertRaises(ValueError) as cm:
266 self.assertIsNone(cm.exception.__context__)
268 self.assertEqual(sys.exc_info(), (None, None, None))
270 def test_except_next(self):
272 self.assertEqual(sys.exc_info()[0], ValueError)
279 self.assertEqual(next(g), "done")
280 self.assertEqual(sys.exc_info(), (None, None, None))
282 def test_except_gen_except(self):
285 self.assertEqual(sys.exc_info()[0], None)
291 self.assertEqual(sys.exc_info()[0], TypeError)
292 self.assertEqual(type(exc.__context__), ValueError)
294 self.assertEqual(sys.exc_info()[0], ValueError)
296 self.assertIsNone(sys.exc_info()[0])
306 self.assertEqual(next(g), "done")
307 self.assertEqual(sys.exc_info(), (None, None, None))
309 def test_except_throw_exception_context(self):
313 self.assertEqual(sys.exc_info()[0], None)
317 self.assertEqual(sys.exc_info()[0], ValueError)
320 self.assertEqual(sys.exc_info()[0], TypeError)
321 self.assertEqual(type(exc.__context__), ValueError)
323 self.assertEqual(sys.exc_info()[0], ValueError)
325 self.assertIsNone(sys.exc_info()[0])
335 self.assertEqual(next(g), "done")
336 self.assertEqual(sys.exc_info(), (None, None, None))
338 def test_except_throw_bad_exception(self):
350 with self.assertRaisesRegex(TypeError, err_msg):
353 self.assertRaises(StopIteration, next, gen)
356 with self.assertRaisesRegex(TypeError, err_msg):
361 with self.assertRaises(StopIteration):
364 def test_stopiteration_error(self):
371 with self.assertRaisesRegex(RuntimeError, 'raised StopIteration'):
374 def test_tutorial_stopiteration(self):
383 self.assertEqual(next(g), 1)
385 with self.assertRaisesRegex(RuntimeError, 'raised StopIteration'):
388 def test_return_tuple(self):
393 self.assertEqual(next(gen), 1)
394 with self.assertRaises(StopIteration) as cm:
396 self.assertEqual(cm.exception.value, (2,))
398 def test_return_stopiteration(self):
403 self.assertEqual(next(gen), 1)
404 with self.assertRaises(StopIteration) as cm:
406 self.assertIsInstance(cm.exception.value, StopIteration)
407 self.assertEqual(cm.exception.value.value, 2)
412 def test_exception_context_with_yield(self):
421 with self.assertRaises(ValueError) as cm:
424 self.assertEqual((type(context), context.args), (KeyError, ('a',)))
426 def test_exception_context_with_yield_inside_generator(self):
436 self.assertEqual(type(exc), ValueError)
438 self.assertEqual((type(context), context.args),
446 self.assertEqual(actual, 'b')
448 def test_exception_context_with_yield_from(self):
460 with self.assertRaises(ValueError) as cm:
463 self.assertEqual((type(context), context.args), (KeyError, ('a',)))
465 def test_exception_context_with_yield_from_with_context_cycle(self):
489 self.assertEqual(has_cycle, False)
491 def test_throw_after_none_exc_type(self):
505 with self.assertRaises(RuntimeError) as cm:
511 def check_stack_names(self, frame, expected):
522 self.assertEqual(names, expected)
524 def check_yield_from_example(self, call_method):
526 self.check_stack_names(sys._getframe(), ['f', 'g'])
531 self.check_stack_names(sys._getframe(), ['f', 'g'])
534 self.check_stack_names(sys._getframe(), ['g'])
536 self.check_stack_names(sys._getframe(), ['g'])
545 def test_send_with_yield_from(self):
549 self.check_yield_from_example(call_send)
551 def test_throw_with_yield_from(self):
555 self.check_yield_from_example(call_throw)
559 def test_generator_gi_yieldfrom(self):
561 self.assertEqual(inspect.getgeneratorstate(gen_b), inspect.GEN_RUNNING)
562 self.assertIsNone(gen_b.gi_yieldfrom)
564 self.assertEqual(inspect.getgeneratorstate(gen_b), inspect.GEN_RUNNING)
565 self.assertIsNone(gen_b.gi_yieldfrom)
568 self.assertIsNone(gen_b.gi_yieldfrom)
570 self.assertIsNone(gen_b.gi_yieldfrom)
572 self.assertIsNone(gen_b.gi_yieldfrom)
575 self.assertEqual(inspect.getgeneratorstate(gen_b), inspect.GEN_CREATED)
576 self.assertIsNone(gen_b.gi_yieldfrom)
579 self.assertEqual(inspect.getgeneratorstate(gen_b), inspect.GEN_SUSPENDED)
580 self.assertEqual(gen_b.gi_yieldfrom.gi_code.co_name, 'a')
583 self.assertEqual(inspect.getgeneratorstate(gen_b), inspect.GEN_SUSPENDED)
584 self.assertIsNone(gen_b.gi_yieldfrom)
587 self.assertEqual(inspect.getgeneratorstate(gen_b), inspect.GEN_CLOSED)
588 self.assertIsNone(gen_b.gi_yieldfrom)
804 ... def __init__(self, label, left=None, right=None):
805 ... self.label = label
806 ... self.left = left
807 ... self.right = right
809 ... def __repr__(self, level=0, indent=" "):
810 ... s = level*indent + repr(self.label)
811 ... if self.left:
812 ... s = s + "\\n" + self.left.__repr__(level+1, indent)
813 ... if self.right:
814 ... s = s + "\\n" + self.right.__repr__(level+1, indent)
817 ... def __iter__(self):
818 ... return inorder(self)
958 >>> print(i.__next__.__doc__ if HAVE_DOCSTRINGS else 'Implement next(self).')
959 Implement next(self).
992 ... def __init__(self, name):
993 ... self.name = name
994 ... self.parent = None
995 ... self.generator = self.generate()
997 ... def generate(self):
998 ... while not self.parent:
999 ... yield self
1000 ... for x in self.parent.generator:
1003 ... def find(self):
1004 ... return next(self.generator)
1006 ... def union(self, parent):
1007 ... if self.parent:
1009 ... self.parent = parent
1011 ... def __str__(self):
1012 ... return self.name
1162 ... def __init__(self, g):
1163 ... self.sofar = []
1164 ... self.fetch = g.__next__
1166 ... def __getitem__(self, i):
1167 ... sofar, fetch = self.sofar, self.fetch
1403 ... def __init__(self):
1405 ... def f(self):
1617 def __init__(self, n):
1618 self.n = n
1632 self.rowgenerators = []
1642 if uses & self.used == 0:
1643 self.used |= uses
1645 self.used &= ~uses
1647 self.rowgenerators.append(rowgen)
1650 def solve(self):
1651 self.used = 0
1652 for row2col in conjoin(self.rowgenerators):
1655 def printsolution(self, row2col):
1656 n = self.n
1672 def __init__(self, m, n, hard=0):
1673 self.m, self.n = m, n
1677 succs = self.succs = []
1716 corner = self.coords2index(0, 0)
1718 self.lastij = corner
1724 corner = self.coords2index(0, 0)
1725 assert self.lastij == corner # i.e., we started in the corner
1729 assert self.coords2index(1, 2) in succs[corner]
1730 assert self.coords2index(2, 1) in succs[corner]
1733 # to (0, 0). Save its index in self.final so that moves before
1736 this = self.coords2index(i, j)
1737 final = self.coords2index(3-i, 3-j)
1738 self.final = final
1742 self.lastij = this
1752 for i in succs[self.lastij]:
1763 if i != self.final:
1765 self.lastij = i
1780 for i in succs[self.lastij]:
1786 i1, j1 = self.index2coords(i)
1793 if i != self.final:
1795 self.lastij = i
1801 assert self.final in succs[self.lastij]
1802 yield self.final
1805 self.squaregenerators = [first]
1807 self.squaregenerators = [first, second] + \
1811 def coords2index(self, i, j):
1812 assert 0 <= i < self.m
1813 assert 0 <= j < self.n
1814 return i * self.n + j
1816 def index2coords(self, index):
1817 assert 0 <= index < self.m * self.n
1818 return divmod(index, self.n)
1820 def _init_board(self):
1821 succs = self.succs
1823 m, n = self.m, self.n
1824 c2i = self.coords2index
1837 def solve(self):
1838 self._init_board()
1839 for x in conjoin(self.squaregenerators):
1842 def printsolution(self, x):
1843 m, n = self.m, self.n
1851 i1, j1 = self.index2coords(i)
2363 ... def __iter__(self):
2364 ... return self
2365 ... def __next__(self):
2366 ... return self.item
2403 ... def __del__(self):