public void EnqueueFirstShouldInsertAtBeginningOfQueue()
        {
            Dequeue <int> queue = new Dequeue <int>();

            Assert.IsNotNull(queue, "Queue should not be null after construction");
            Assert.AreEqual(0, queue.Count, "Count should be zero for new queue");
            Assert.IsTrue(queue.IsEmpty, "Count should be considered empty");

            queue.EnqueueFirst(17);
            Assert.AreEqual(1, queue.Count, "Count should be 1 after enqueue");
            Assert.IsFalse(queue.IsEmpty, "Queue should not be empty after enqueue");
            Assert.AreEqual(17, queue.Peek(), "First item should be 17");

            queue.EnqueueFirst(42);
            Assert.AreEqual(2, queue.Count, "Count should be 2 after enqueue");
            Assert.IsFalse(queue.IsEmpty, "Queue should not be empty after enqueue");
            Assert.AreEqual(42, queue.Peek(), "First item should be 42");
        }