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"); }