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

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

            deque.EnqueueItemToBack(9);

            int back = deque.PeekAtItemFromBack();

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

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

            int originalFront = deque.PeekAtItemFromFront();

            deque.EnqueueItemToBack(9);

            int newFront = deque.PeekAtItemFromFront();

            Assert.AreEqual(originalFront, newFront);
        }