public void CanThrowExceptionIfThereIsNothingToDequeue() { MyPseudoQueue ps = new MyPseudoQueue(); ps.PseudoQueue(); Assert.Throws <Exception>(() => ps.PseudoQueueDequeue()); }
public void CanInstantiatePseudoQueue() { MyPseudoQueue ps = new MyPseudoQueue(); ps.PseudoQueue(); bool expected = ps.FirstStack.IsEmpty(); Assert.True(expected); }
public void CanInsertNodeIntoAPseudoQueue() { MyPseudoQueue ps = new MyPseudoQueue(); ps.PseudoQueue(); ps.PseudoQueueEnqueue(23); int expected = ps.FirstStack.Top.Value; Assert.Equal(23, expected); }
public void PseudoQueueIsEmptyAfterLastPop() { MyPseudoQueue ps = new MyPseudoQueue(); ps.PseudoQueue(); ps.PseudoQueueEnqueue(20); ps.PseudoQueueDequeue(); bool actual = ps.FirstStack.IsEmpty(); Assert.True(actual); }
public void CanDequeueASingleNodeValueFromPseudoQueue() { MyPseudoQueue ps = new MyPseudoQueue(); ps.PseudoQueue(); ps.PseudoQueueEnqueue(20); int expected = 20; int actual = ps.PseudoQueueDequeue(); Assert.Equal(actual, expected); }
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); }
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); }