public void SynchronisedDoubleEndedQueueSupportsEnqueueingItemToFrontOfQueue()
        {
            var items = new[] { 1, 2, 3, 4, 5, 6, 7, 8 };

            var deque = new SynchronisedDeque <int>(items);

            deque.EnqueueItemToFront(9);

            int front = deque.PeekAtItemFromFront();

            Assert.AreEqual(9, front);
        }
        public void SynchronisedDoubleEndedQueueEnqueueItemToFrontDoesNotImpactBackOfQueue()
        {
            var items = new[] { 1, 2, 3, 4, 5, 6, 7, 8 };

            var deque = new SynchronisedDeque <int>(items);

            int originalBack = deque.PeekAtItemFromBack();

            deque.EnqueueItemToFront(9);

            int newBack = deque.PeekAtItemFromBack();

            Assert.AreEqual(originalBack, newBack);
        }