static void Main(string[] args) { Node node1 = new Node(1); Node node2 = new Node(2); Node node3 = new Node(3); Node node4 = new Node(4); Stack myStack = new Stack(null); QueueStack myQueue = new QueueStack(myStack); Console.WriteLine($"Enqueue: {node1.Value}"); myQueue.Enqueue(node1); Console.WriteLine($"Enqueue: {node2.Value}"); myQueue.Enqueue(node2); Console.WriteLine($"Enqueue: {node3.Value}"); myQueue.Enqueue(node3); Console.WriteLine($"Enqueue: {node4.Value}"); myQueue.Enqueue(node4); Console.WriteLine($"Deque: {myQueue.Dequeue().Value}"); Console.WriteLine($"Deque: {myQueue.Dequeue().Value}"); Console.WriteLine($"Deque: {myQueue.Dequeue().Value}"); Console.WriteLine($"Deque: {myQueue.Dequeue().Value}"); }
public void QueueStackIsEnptyWhenAllElementsAreRemoved() { var sut = new QueueStack <int>(); sut.Push(1); sut.Push(2); Assert.Equal(2, sut.Pop()); Assert.Equal(1, sut.Pop()); Assert.True(sut.IsEmpty); }
public void QueueStackIncreasesCapacityOnDemand() { var sut = new QueueStack <int>(); sut.Push(1); sut.Push(2); Assert.Equal(2, sut.Pop()); Assert.Equal(1, sut.Pop()); Assert.True(sut.IsEmpty); }
public void DequeueReturnsNullIfNoNodesInQeueue() { //Arrange Stack myStack = new Stack(null); QueueStack myQueue = new QueueStack(myStack); //Asssert Assert.Null(myQueue.Dequeue()); }
public void EnqueueAddsNodeToTopOfStackA() { //Arrange Stack myStack = new Stack(new Node(1)); QueueStack myQueue = new QueueStack(myStack); myQueue.Enqueue(new Node(2)); //Asssert Assert.Equal(2, myQueue.A.Top.Value); }
public void QueueStackWorksInLifoOrder() { var sut = new QueueStack <int>(); for (var i = 0; i < 100; i++) { sut.Push(i); } for (var i = 99; i >= 0; i--) { Assert.Equal(i, sut.Pop()); } }
public void QueueStackWorksInLifoOrderWhenIntermittentPushesAccures() { var sut = new QueueStack <int>(); sut.Push(1); sut.Push(2); sut.Push(3); Assert.Equal(3, sut.Pop()); sut.Push(4); sut.Push(5); Assert.Equal(5, sut.Pop()); Assert.Equal(4, sut.Pop()); Assert.Equal(2, sut.Pop()); Assert.Equal(1, sut.Pop()); }
public void QueueFunctionsAsFIFO() { //Arrange Node node1 = new Node(1); Node node2 = new Node(2); Stack myStack = new Stack(node1); QueueStack myQueue = new QueueStack(myStack); myQueue.Enqueue(node2); //Asssert Assert.Equal(1, myQueue.Dequeue().Value); }
public void PopFromEmptyStackThrowsAnException() { var sut = new QueueStack <int>(); Assert.Throws <ArgumentException>(() => sut.Pop()); }
public void QueueStackCorrectlyReportsItsEmptiness() { var sut = new QueueStack <int>(); Assert.True(sut.IsEmpty); }