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

            ps.PseudoQueue();
            Assert.Throws <Exception>(() => ps.PseudoQueueDequeue());
        }
예제 #2
0
        public void PseudoQueueIsEmptyAfterLastPop()
        {
            MyPseudoQueue ps = new MyPseudoQueue();

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

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

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

            Assert.Equal(actual, expected);
        }
예제 #4
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);
        }