Esempio n. 1
0
 def test_full(self):
     q = Queue(1, hub=self.hub)
     self.assertEqual(len(q), 0)
     self.assertFalse(q.full())
     q.append('an item')
     self.assertEqual(len(q), 1)
     self.assert_(q.full())
     q.pop()
     self.assertEqual(len(q), 0)
     self.assertFalse(q.full())
Esempio n. 2
0
 def test_appendleft(self):
     q = Queue(hub=self.hub)
     self.assertEqual(len(q), 0)
     q.appendleft('an item')
     self.assertEqual(len(q), 1)
     self.assertEqual(q.pop(), 'an item')
     q.appendleft('an item')
     q.appendleft('another item')
     self.assertEqual(len(q), 2)
     self.assertEqual(q.pop(), 'an item')
     self.assertEqual(q.pop(), 'another item')
Esempio n. 3
0
 def test_pop(self):
     q = Queue(hub=self.hub)
     self.assertEqual(len(q), 0)
     q.append('an item')
     q.append('another item')
     self.assertEqual(len(q), 2)
     self.assertEqual(q.pop(), 'another item')
     self.assertEqual(len(q), 1)
     self.assertEqual(q.pop(), 'an item')
     self.assertEqual(len(q), 0)
     start = time.time()
     self.assertRaises(greennet.Timeout,
                       q.pop,
                       IMMEDIATE_THRESHOLD)
     self.assert_(time.time() - start < IMMEDIATE_THRESHOLD * 2)
     self.assertEqual(len(q), 0)
Esempio n. 4
0
 def test_append_full(self):
     q = Queue(1, hub=self.hub)
     q.append('an item')
     self.assertEqual(len(q), 1)
     self.assert_(q.full())
     start = time.time()
     self.assertRaises(greennet.Timeout,
                       q.append,
                       'another_item',
                       IMMEDIATE_THRESHOLD)
     self.assert_(time.time() - start < IMMEDIATE_THRESHOLD * 2)
     self.assertEqual(len(q), 1)
     self.assert_(q.full())
     q.pop()
     q.append('an item')
     self.assertEqual(len(q), 1)
     self.assert_(q.full())
Esempio n. 5
0
 def test_pop_wait_for_append(self):
     q = Queue(hub=self.hub)
     timeout = 0.5
     self.hub.call_later(greennet.greenlet(q.append), timeout, 'an item')
     start = time.time()
     self.assertEqual(q.pop(), 'an item')
     duration = time.time() - start
     self.assert_(duration < timeout + IMMEDIATE_THRESHOLD
                  and duration > timeout - IMMEDIATE_THRESHOLD)
Esempio n. 6
0
 def test_appendleft_wait_for_clear(self):
     q = Queue(1, hub=self.hub)
     q.append('an item')
     timeout = 0.5
     self.hub.call_later(greennet.greenlet(q.clear), timeout)
     start = time.time()
     q.appendleft('an item')
     duration = time.time() - start
     self.assert_(duration < timeout + IMMEDIATE_THRESHOLD
                  and duration > timeout - IMMEDIATE_THRESHOLD)
     self.assertEqual(q.pop(), 'an item')