def test_waiting(self): q = Queue() gt1 = spawn(q.get) sleep(0) self.assertEquals(1, q.getting()) q.put('hi') sleep(0) self.assertEquals(0, q.getting()) self.assertEquals('hi', gt1.wait()) self.assertEquals(0, q.getting())
def test_waiting (self): q = Queue() gt1 = spawn(q.get) sleep(0) self.assertEquals(1, q.getting()) q.put('hi') sleep(0) self.assertEquals(0, q.getting()) self.assertEquals('hi', gt1.wait()) self.assertEquals(0, q.getting())
def test_channel_waiters(self): c = Queue(0) w1 = spawn(c.get) w2 = spawn(c.get) w3 = spawn(c.get) sleep(0) self.assertEquals(c.getting(), 3) s1 = spawn(c.put, 1) s2 = spawn(c.put, 2) s3 = spawn(c.put, 3) s1.wait() s2.wait() s3.wait() self.assertEquals(c.getting(), 0) # NOTE: we don't guarantee that waiters are served in order results = sorted([w1.wait(), w2.wait(), w3.wait()]) self.assertEquals(results, [1, 2, 3])
def test_channel_waiters (self): c = Queue(0) w1 = spawn(c.get) w2 = spawn(c.get) w3 = spawn(c.get) sleep(0) self.assertEquals(c.getting(), 3) s1 = spawn(c.put, 1) s2 = spawn(c.put, 2) s3 = spawn(c.put, 3) s1.wait() s2.wait() s3.wait() self.assertEquals(c.getting(), 0) # NOTE: we don't guarantee that waiters are served in order results = sorted([w1.wait(), w2.wait(), w3.wait()]) self.assertEquals(results, [1, 2, 3])