class TestRedisQueue(unittest.TestCase): def setUp(self): self.redis_args = dict(host='127.0.0.1', port=6379) self.key = 'test_redis_queue' self.queue = Queue(self.key, **self.redis_args) def tearDown(self): redis = Redis(**self.redis_args) redis.delete(self.key) def test_right(self): self.queue.append('one') self.queue.append('two') self.queue.append('three') self.assertEqual(self.queue.pop(), 'three') self.assertEqual(self.queue.pop(), 'two') self.assertEqual(self.queue.pop(), 'one') self.assertRaises(IndexError, self.queue.pop) def test_left(self): self.queue.appendleft('one') self.queue.appendleft('two') self.queue.appendleft('three') self.assertEqual(self.queue.popleft(), 'three') self.assertEqual(self.queue.popleft(), 'two') self.assertEqual(self.queue.popleft(), 'one') self.assertRaises(IndexError, self.queue.pop) def test_right_left(self): self.queue.append('one') self.queue.append('two') self.queue.append('three') self.assertEqual(self.queue.popleft(), 'one') self.assertEqual(self.queue.popleft(), 'two') self.assertEqual(self.queue.popleft(), 'three') self.assertRaises(IndexError, self.queue.pop) def test_left_right(self): self.queue.appendleft('one') self.queue.appendleft('two') self.queue.appendleft('three') self.assertEqual(self.queue.pop(), 'one') self.assertEqual(self.queue.pop(), 'two') self.assertEqual(self.queue.pop(), 'three') self.assertRaises(IndexError, self.queue.pop) def test_clear(self): self.queue.appendleft('one') self.queue.appendleft('two') self.queue.appendleft('three') self.queue.clear() self.assertRaises(IndexError, self.queue.pop) self.assertRaises(IndexError, self.queue.popleft) def test_remove(self): self.queue.append('one') self.queue.append('two') self.queue.append('two') self.queue.append('three') self.queue.append('two') self.queue.remove('two') self.assertEqual(self.queue.pop(), 'three') self.assertEqual(self.queue.pop(), 'one') self.assertRaises(IndexError, self.queue.pop) def test_contains(self): self.queue.append('one') self.queue.append('two') self.queue.append('three') self.assert_('one' in self.queue) self.assert_('two' in self.queue) self.assert_('three' in self.queue) self.assert_('four' not in self.queue) def test_extend_right(self): self.queue.extend(['one', 'two', 'three']) self.assertEqual(self.queue.pop(), 'three') self.assertEqual(self.queue.pop(), 'two') self.assertEqual(self.queue.pop(), 'one') self.assertRaises(IndexError, self.queue.pop) def test_extend_left(self): self.queue.extendleft(['one', 'two', 'three']) self.assertEqual(self.queue.popleft(), 'three') self.assertEqual(self.queue.popleft(), 'two') self.assertEqual(self.queue.popleft(), 'one') self.assertRaises(IndexError, self.queue.pop) def test_iteration(self): self.queue.append('one') self.queue.append('two') self.queue.append('three') self.assertEqual(list(iter(self.queue)), ['one', 'two', 'three']) def test_length(self): self.queue.append('one') self.queue.append('two') self.queue.append('three') self.assertEqual(len(self.queue), 3)