Esempio n. 1
0
        public void DequeueLastOnNonEmptyQueueShouldReturnLastElementAndDecreaseCountByOne()
        {
            Dequeue <int> queue = new Dequeue <int>();

            queue.Enqueue(17);
            queue.Enqueue(42);
            Assert.AreEqual(2, queue.Count, "Count should be 2 after enqueue");
            Assert.IsFalse(queue.IsEmpty, "Queue should not be empty after enqueue");

            int value = queue.DequeueLast();

            Assert.AreEqual(42, value, "dequeued value should be 42");
            Assert.AreEqual(1, queue.Count, "Count should be 1 after dequeue");
            Assert.IsFalse(queue.IsEmpty, "Queue should not be empty as count > 0");

            value = queue.DequeueLast();
            Assert.AreEqual(17, value, "dequeued value should be 17");
            Assert.AreEqual(0, queue.Count, "Count should be 0 after dequeue");
            Assert.IsTrue(queue.IsEmpty, "Queue should be empty as count = 0");
        }
Esempio n. 2
0
        public void PeekLastOnNonEmptyQueueShouldReturnLastElementButNotChangeQueue()
        {
            Dequeue <int> queue = new Dequeue <int>();

            queue.Enqueue(17);
            int value = queue.PeekLast();

            Assert.AreEqual(17, value, "Last value = 17");
            Assert.AreEqual(1, queue.Count, "Count should be 1 after peek");
            Assert.IsFalse(queue.IsEmpty, "Queue should not be empty as count > 0");

            value = queue.PeekLast();
            Assert.AreEqual(17, value, "Last value = 17");
            Assert.AreEqual(1, queue.Count, "Count should be 1 after peek");
            Assert.IsFalse(queue.IsEmpty, "Queue should not be empty as count > 0");

            queue.Enqueue(42);
            value = queue.PeekLast();
            Assert.AreEqual(42, value, "Last value = 42");
            Assert.AreEqual(2, queue.Count, "Count should be 2 after peek");
            Assert.IsFalse(queue.IsEmpty, "Queue should not be empty as count > 0");
        }