def test_size(self): queue_a = QueueArray(2) queue_l = QueueLinked(2) self.assertEqual(queue_a.size(), 0) self.assertEqual(queue_l.size(), 0) queue_a.num_items = 20 queue_l.num_items += 1 self.assertEqual(queue_a.size(), 20) self.assertEqual(queue_l.size(), 1)
def test_is_empty(self): queue_a = QueueArray(1) queue_l = QueueLinked(2) self.assertTrue(queue_a.is_empty()) self.assertTrue(queue_l.is_empty()) queue_a.num_items = 1 queue_l.num_items += 2 self.assertFalse(queue_a.is_empty()) self.assertFalse(queue_l.is_empty())
def test_enqueue(self): queue_l = QueueLinked(0) self.assertRaises(IndexError, queue_l.enqueue, 10) queue_l = QueueLinked(1) queue_l.enqueue(10) self.assertEqual(queue_l.rear, Node(10)) queue_a = QueueArray(1) queue_a.enqueue(7) self.assertEqual(queue_a.items, [7, None]) self.assertRaises(IndexError, queue_a.enqueue, 20)
def test_dequeue(self): queue_l = QueueLinked(1) queue_l.rear, queue_l.front, queue_l.num_items = Node(10), Node(10), 1 self.assertEqual(queue_l.dequeue(), 10) self.assertRaises(IndexError, queue_l.dequeue) queue_a = QueueArray(1) queue_a.front, queue_a.rear, queue_a.num_items = 0, 1, 1 queue_a.items = [10, None] self.assertEqual(queue_a.dequeue(), 10) self.assertRaises(IndexError, queue_a.dequeue)
def test_is_full(self): queue_a = QueueArray(1) queue_l = QueueLinked(2) self.assertFalse(queue_a.is_full()) self.assertFalse(queue_l.is_full()) queue_a.num_items = 1 queue_l.num_items += 2 queue_a.rear += 1 self.assertTrue(queue_a.is_full()) self.assertTrue(queue_l.is_full())
def test_2(self): stk_a = QueueArray(4) with self.assertRaises(IndexError): stk_a.dequeue() stk_a.enqueue(6) stk_a.enqueue(7) stk_a.enqueue(9) self.assertEqual(stk_a.dequeue(), 6) self.assertEqual(stk_a.dequeue(), 7) self.assertEqual(stk_a.dequeue(), 9)
def test_queue_array(self): q1 = QueueArray(5) self.assertEqual(q1.is_empty(), True) q2 = QueueArray(1) q2.enqueue(4) print(q2) q3 = QueueArray(4) q3.enqueue(5) q3.enqueue(6) print(q3) self.assertEqual(q3.dequeue(), 5) q4 = QueueArray(3) q4.enqueue(1) q4.enqueue(2) q4.enqueue(3) print(q4) self.assertEqual(q4.is_full(), True) q4.dequeue() self.assertEqual(q4.size(), 2) q5 = QueueArray(2) q5.enqueue(0) q5.enqueue(1) q5.dequeue() q5.enqueue(2) print(q5) self.assertEqual(q5.is_full(), True) self.assertRaises(IndexError, q5.enqueue, 5)
def test_num_in_queue(self): stk_a = QueueArray(10) stk_a.enqueue(3) self.assertEqual(stk_a.dequeue(), 3) self.assertTrue(stk_a.is_empty())
def test_num_3(self): stk_a = QueueArray(4) stk_a.enqueue(6) stk_a.enqueue(7) stk_a.enqueue(8) stk_a.enqueue(9) self.assertTrue(stk_a.is_full()) with self.assertRaises(IndexError): stk_a.enqueue(0) self.assertEqual(stk_a.num_in_queue(), 4) self.assertEqual(stk_a.dequeue(), 6) self.assertEqual(stk_a.num_in_queue(), 3) self.assertFalse(stk_a.is_empty())
def test_QueueArray(self): queue = QueueArray(2) self.assertRaises(IndexError, queue.dequeue) self.assertEqual(queue.is_empty(), True) queue.enqueue(1) self.assertEqual(queue.size(), 1) queue.enqueue(2) self.assertRaises(IndexError, queue.enqueue, 3) self.assertEqual(queue.is_full(), True) self.assertEqual(queue.dequeue(), 1) self.assertEqual(queue.is_empty(), False) self.assertEqual(queue.dequeue(), 2) queue.enqueue(3) self.assertEqual(queue.dequeue(), 3) queue.enqueue(4)