def test_reply(qm): class a(Actor): def act(self): result = [] self.receive({ 'answer': lambda msg: result.append(msg['answer'])}) return result[0] x = a('a') qt = ActorRef('p') qt.send({'tag': 'reply', 'reply_to': 'a'}) assert x.act() == 5
def test_timeout_zero_2(qm): class a(Actor): def act(self): self.receive({ 'foo': self.read_value('data'), }, timeout=0) return getattr(self, 'data', None) x = a() y = ActorRef(x.name) y.send({'tag': 'bar'}) y.send({'tag': 'baz'}) y.send({'tag': 'foo', 'data': 1}) y.send({'tag': 'gii'}) while x.inbox.qsize() < 4: time.sleep(0.1) z = x.act() assert z == 1