public void StackPush() { var stack = ArrayToStack(new string[] { "1", "1", "1", "1", "1" }); stack.Push("2"); stack.Push("4"); stack.Push("5"); stack.Push("6"); this.ListCompare(stack, new string[] { "6", "5", "4", "2", "1", "1", "1", "1" }); stack = ArrayToStack(new string[] { }); stack.Push("2"); stack.Push("4"); stack.Push("5"); stack.Push("6"); this.ListCompare(stack, new string[] { "6", "5", "4", "2" }); stack = ArrayToStack(new string[] { }); stack.Push("2"); this.ListCompare(stack, new string[] { "2" }); MyStack <int> stack2 = ArrayToStack(new int[] { }); stack2.Push(2); stack2.Push(4); stack2.Push(5); stack2.Push(6); this.ListCompare(stack2, new int[] { 6, 5, 4, 2 }); stack2 = ArrayToStack(new int[] { 1 }); stack2.Push(2); stack2.Push(4); stack2.Push(5); stack2.Push(6); this.ListCompare(stack2, new int[] { 6, 5, 4, 2, 1 }); stack2 = ArrayToStack(new int[] { }); stack2.Push(2); this.ListCompare(stack2, new int[] { 2 }); }
private void ListCompare <T>(MyStack <T> stack, T[] arr) { Assert.AreEqual(arr[0], stack.Peek()); }