Esempio n. 1
0
 def test_len(self):
     q = Queue(hub=self.hub)
     self.assertEqual(len(q), 0)
     q.append('an item')
     self.assertEqual(len(q), 1)
     q.appendleft('another item')
     self.assertEqual(len(q), 2)
     q.clear()
     self.assertEqual(len(q), 0)
Esempio n. 2
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')
Esempio n. 3
0
 def test_appendleft_full(self):
     q = Queue(1, hub=self.hub)
     q.appendleft('an item')
     self.assertEqual(len(q), 1)
     self.assert_(q.full())
     start = time.time()
     self.assertRaises(greennet.Timeout,
                       q.appendleft,
                       'another_item',
                       IMMEDIATE_THRESHOLD)
     self.assert_(time.time() - start < IMMEDIATE_THRESHOLD * 2)
     self.assertEqual(len(q), 1)
     self.assert_(q.full())
     q.pop()
     q.appendleft('an item')
     self.assertEqual(len(q), 1)
     self.assert_(q.full())
Esempio n. 4
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')