public void Pop_WhenPoped_ShouldReturnTopElement() { // Arrange var stack = new Stack<int>(); stack.Push(10); stack.Push(30); // Act var result = stack.Pop(); // Assert Assert.AreEqual(1, stack.Count, "There should be only single item."); Assert.AreEqual(30, result, "Should return the top value."); Assert.AreEqual(10, stack.GetBackingList().GetHeadAndTail().Item1.Value, "Head should point to 10"); }
public void Push_LastPushedItem_ShouldBeTheTop() { // Arrange var stack = new Stack<int>(); // Act stack.Push(10); stack.Push(20); stack.Push(30); // Assert Assert.AreEqual(3, stack.Count, "Should have 3 items in the stack."); Assert.AreEqual(30, stack.GetBackingList().ElementAt(0), "First element."); Assert.AreEqual(20, stack.GetBackingList().ElementAt(1), "Second element."); Assert.AreEqual(10, stack.GetBackingList().ElementAt(2), "Third element."); }
public void Push_ItemShouldBeAdded_ToTheStack() { // Arrange var stack = new Stack<int>(); // Act stack.Push(10); // Assert Assert.AreEqual(1, stack.Count, "There should be a single item in the list."); Assert.AreEqual(10, stack.GetBackingList().GetHeadAndTail().Item1.Value, "Head should be 10."); }