Ejemplo n.º 1
0
 def setUp(self):
     self.Queues = Queues()
Ejemplo n.º 2
0
class QueueTest(unittest.TestCase):
    def setUp(self):
        self.Queues = Queues()

    def test_dequeue(self):
        # Dequeue Queues
        for num in range(1, 6):
            self.Queues.enqueue(num)
        for num in range(1, 5):
            self.assertEquals(self.Queues.dequeue(), num)
            self.assertEquals(self.Queues.tail.value, 5)

        # Test last Queue
        self.assertEquals(dir(self.Queues.tail), dir(self.Queues.head))
        self.Queues.dequeue()

        # Test Empty Queue Exception
        self.Queues.print_all()
        with self.assertRaises(IndexError):
            self.Queues.dequeue()

    def test_enqueue(self):
        # Initial Value Test
        self.Queues.enqueue(1)
        self.assertEquals(dir(self.Queues.tail), dir(self.Queues.head))

        # Test other queues
        for num in range(2, 6):
            self.Queues.enqueue(num)
            # self.Queues.print_all()
            self.assertEqual(self.Queues.head.value, 1)
            self.assertEqual(self.Queues.tail.value, num)

    def test_size(self):
        # Test incremental size
        for num in range(1, 6):
            self.Queues.enqueue(num)
            self.assertEqual(self.Queues.size(), num)

        # Test decremental size
        for num in range(5, 1, -1):
            self.assertEqual(self.Queues.size(), num)
            self.Queues.dequeue()

        self.assertEqual(dir(self.Queues.head), dir(self.Queues.tail))

        # Test final empty Queue
        self.Queues.dequeue()
        self.assertEqual(self.Queues.size(), 0)