Ejemplo n.º 1
0
 public void UnpushShouldRemoveLastPushedItem()
 {
     var queue = new YQueue<string>(2);
     queue.Push("One");
     queue.Push("Two");
     queue.Push("Three");
     Assert.AreEqual(3, queue.BackPos, "Ensuring that Back position is 3");
     Assert.AreEqual("Three", queue.Unpush(), "Unpush should return the last item in a queue");
     Assert.AreEqual(2, queue.BackPos, "Back position should be decremented after unpush");
     Assert.AreEqual("Two", queue.Unpush(), "Unpush should return the last item in a queue");
     Assert.AreEqual(1, queue.BackPos, "Back position should be decremented after unpush");
     Assert.AreEqual("One", queue.Unpush(), "Unpush should return the last item in a queue");
     Assert.AreEqual(0, queue.BackPos, "Back position should be decremented after unpush");
 }
Ejemplo n.º 2
0
        public void UnpushShouldRemoveLastPushedItem()
        {
            var queue = new YQueue <string>(2);

            queue.Push("One");
            queue.Push("Two");
            queue.Push("Three");
            Assert.AreEqual(3, queue.BackPos, "Ensuring that Back position is 3");
            Assert.AreEqual("Three", queue.Unpush(), "Unpush should return the last item in a queue");
            Assert.AreEqual(2, queue.BackPos, "Back position should be decremented after unpush");
            Assert.AreEqual("Two", queue.Unpush(), "Unpush should return the last item in a queue");
            Assert.AreEqual(1, queue.BackPos, "Back position should be decremented after unpush");
            Assert.AreEqual("One", queue.Unpush(), "Unpush should return the last item in a queue");
            Assert.AreEqual(0, queue.BackPos, "Back position should be decremented after unpush");
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Pop an incomplete item from the pipe.
        /// </summary>
        /// <returns>the element revoked if such item exists, <c>null</c> otherwise.</returns>
        public bool Unwrite(ref T value)
        {
            if (m_flushToIndex == m_queue.BackPos)
            {
                return(false);
            }
            value = m_queue.Unpush();

            return(true);
        }
Ejemplo n.º 4
0
        public void UnpushShouldRemoveLastPushedItem()
        {
            string one   = "One";
            string two   = "Two";
            string three = "Three";

            var queue = new YQueue <string>(2);

            queue.Push(ref one);
            queue.Push(ref two);
            queue.Push(ref three);
            // Back position should be decremented after unpush
            Assert.Equal(3, queue.BackPos);
            // Unpush should return the last item in a queue
            Assert.Equal("Three", queue.Unpush());
            Assert.Equal(2, queue.BackPos);
            Assert.Equal("Two", queue.Unpush());
            Assert.Equal(1, queue.BackPos);
            Assert.Equal("One", queue.Unpush());
            Assert.Equal(0, queue.BackPos);
        }