def test_enqueue(self): q = Queue() self.assertTrue(q.is_empty()) q.enqueue(1) self.assertFalse(q.is_empty()) self.assertEqual(q.peek(), 1) q.enqueue(2) self.assertNotEqual(q.peek(), 2)
def test_peek(self): q = Queue() self.assertRaises(IndexError, q.peek) q.enqueue(0) self.assertEqual(q.peek(), 0) q.enqueue(1) self.assertNotEqual(q.peek(), 1) self.assertEqual(q.peek(), 0) q.dequeue() self.assertEqual(q.peek(), 1)
def test_dequeue(self): q = Queue() self.assertRaises(IndexError, q.dequeue) for i in range(10): q.enqueue(i) for i in range(9): self.assertEqual(q.peek(), i) q.dequeue() self.assertNotEqual(q.peek(), i) self.assertFalse(q.is_empty()) q.dequeue() self.assertTrue(q.is_empty())
def test_str(self): q = Queue() self.assertEqual(str(q), '') s = '' for i in range(50): r = random.randint(1, 200) q.enqueue(r) if (s == ''): s = str(r) else: s = str(r) + ' ' + s k = len(str(q.peek())) s = s[:-(k + 1)] q.dequeue() self.assertEqual(str(q), s)