def test_extend(self, evt, loop): async def corofunc(): pass coro = corofunc() coro2 = corofunc() # silence "coroutine never awaited" warnings loop.run_until_complete(coro) loop.run_until_complete(coro2) rval = event.ReturnValue(append_events=[evt]) rval2 = event.ReturnValue(eat=True, schedule={coro}) rval3 = event.ReturnValue(append_events=[evt], insert_events=[evt], schedule={coro, coro2}) rset = event.ResultSet() rset2 = event.ResultSet() rset.extend(rval) assert not rset.eat assert rset.append_events == [evt] rset.extend(rval2) assert rset.eat assert rset.schedule == {coro} rset2.extend(rval3) rset.extend(rset2) rset.extend(None) assert rset.eat assert rset.append_events == [evt, evt] assert rset.insert_events == [evt] assert rset.schedule == {coro, coro2}
def test_iadd(self, evt): rval = event.ReturnValue(append_events=[evt]) rval2 = event.ReturnValue(eat=True, append_events=[evt]) rset = event.ResultSet() rset += rval rset += rval2 rset += None assert rset.eat assert rset.append_events == [evt, evt]
def corofunc3(): called[2] += 1 async def corofunc(): pass return event.ReturnValue(append_events=[evt3], schedule={corofunc()})
def corofunc2(): called[1] += 1 return event.ReturnValue(insert_events=[evt3], append_events=[evt2])
def corofunc1(): called[0] += 1 return event.ReturnValue(insert_events=[evt2], append_events=[evt])
async def corofunc2(): called[1] = True return event.ReturnValue(eat=True)