예제 #1
0
        public void CanDequeueFirstNodeValueFromPseudoQueueWithMultipleNodes()
        {
            MyPseudoQueue ps = new MyPseudoQueue();

            ps.PseudoQueue();
            ps.PseudoQueueEnqueue(5);
            ps.PseudoQueueEnqueue(10);
            ps.PseudoQueueEnqueue(15);
            ps.PseudoQueueEnqueue(20);
            int expected = 20;
            int actual   = ps.PseudoQueueDequeue();

            Assert.Equal(actual, expected);
        }
예제 #2
0
        public void CanInsertMulitpleNodesIntoAPseudoQueue()
        {
            MyPseudoQueue ps = new MyPseudoQueue();

            ps.PseudoQueue();
            ps.PseudoQueueEnqueue(20);
            ps.PseudoQueueEnqueue(15);
            ps.PseudoQueueEnqueue(10);
            ps.PseudoQueueEnqueue(5);
            int[] expected =
            {
                ps.FirstStack.Top.Next.Next.Next.Value,
                ps.FirstStack.Top.Next.Next.Value,
                ps.FirstStack.Top.Next.Value,
                ps.FirstStack.Top.Value
            };
            int[] actual = { 5, 10, 15, 20 };
            Assert.Equal(actual, expected);
        }
예제 #3
0
        public void CanInsertNodeIntoAPseudoQueue()
        {
            MyPseudoQueue ps = new MyPseudoQueue();

            ps.PseudoQueue();
            ps.PseudoQueueEnqueue(23);
            int expected = ps.FirstStack.Top.Value;

            Assert.Equal(23, expected);
        }
예제 #4
0
        public void PseudoQueueIsEmptyAfterLastPop()
        {
            MyPseudoQueue ps = new MyPseudoQueue();

            ps.PseudoQueue();
            ps.PseudoQueueEnqueue(20);
            ps.PseudoQueueDequeue();
            bool actual = ps.FirstStack.IsEmpty();

            Assert.True(actual);
        }
예제 #5
0
        public void CanDequeueASingleNodeValueFromPseudoQueue()
        {
            MyPseudoQueue ps = new MyPseudoQueue();

            ps.PseudoQueue();
            ps.PseudoQueueEnqueue(20);
            int expected = 20;
            int actual   = ps.PseudoQueueDequeue();

            Assert.Equal(actual, expected);
        }