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

Method test_delegation_of_send

Lib/test/test_yield_from.py:141–183  ·  view source on GitHub ↗

Test delegation of send()

(self)

Source from the content-addressed store, hash-verified

139 ])
140
141 def test_delegation_of_send(self):
142 """
143 Test delegation of send()
144 """
145 trace = []
146 def g1():
147 trace.append("Starting g1")
148 x = yield "g1 ham"
149 trace.append("g1 received %s" % (x,))
150 yield from g2()
151 x = yield "g1 eggs"
152 trace.append("g1 received %s" % (x,))
153 trace.append("Finishing g1")
154 def g2():
155 trace.append("Starting g2")
156 x = yield "g2 spam"
157 trace.append("g2 received %s" % (x,))
158 x = yield "g2 more spam"
159 trace.append("g2 received %s" % (x,))
160 trace.append("Finishing g2")
161 g = g1()
162 y = next(g)
163 x = 1
164 try:
165 while 1:
166 y = g.send(x)
167 trace.append("Yielded %s" % (y,))
168 x += 1
169 except StopIteration:
170 pass
171 self.assertEqual(trace,[
172 "Starting g1",
173 "g1 received 1",
174 "Starting g2",
175 "Yielded g2 spam",
176 "g2 received 2",
177 "Yielded g2 more spam",
178 "g2 received 3",
179 "Finishing g2",
180 "Yielded g1 eggs",
181 "g1 received 4",
182 "Finishing g1",
183 ])
184
185 def test_handling_exception_while_delegating_send(self):
186 """

Callers

nothing calls this directly

Calls 4

g1Function · 0.85
sendMethod · 0.45
appendMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected