def test_get_from_channel(self): chan = Channel() prom = chan.get() chan.put(52) chan.process() self.assertTrue(prom.delivered) self.assertEqual(prom.value, 52)
def aux(): chan = Channel() chans = clone(chan, 5, channel_type) yield chan.put(10) for r_chan in chans: self.assertEqual((yield r_chan.get()), 10) yield chan.put(22) for r_chan in chans: self.assertEqual((yield r_chan.get()), 22) done.delivery(True)
def test_should_work(self): chan = Channel() producer = ChannelProducer(chan) clones = [producer.get_clone() for _ in range(5)] chan.put(12) process_all() for chan_clone in clones: prom = chan_clone.get() while not prom.delivered: process_all() self.assertEqual(prom.value, 12)
def test_channel_with_limit(self): chan = Channel(limit=5) put_proms = [chan.put(x) for x in range(5)] get_proms = [chan.get() for _ in range(5)] for prom in put_proms: process_all() self.assertTrue(prom.delivered) self.assertTrue(prom.value) for n, prom in enumerate(get_proms): self.assertTrue(prom.delivered) self.assertEqual(prom.value, n)
def test_put_into_channel(self): chan = Channel() prom = chan.put(10) chan.process() self.assertTrue(prom.delivered) self.assertTrue(prom.value)