public void _3_2_StackWithMinimum_WithValidMinimumsAndNegatives_ShouldStoreSuccessfully() { StackWithMinimum minStack = new StackWithMinimum(); minStack.Push(2); minStack.Push(-2); minStack.Push(-1); minStack.Push(1); minStack.Push(-3); Assert.AreEqual(-3, minStack.PeekMin()); Assert.AreEqual(-3, minStack.Pop()); Assert.AreEqual(-2, minStack.PeekMin()); Assert.AreEqual(1, minStack.Pop()); Assert.AreEqual(-2, minStack.PeekMin()); Assert.AreEqual(-1, minStack.Pop()); Assert.AreEqual(-2, minStack.PeekMin()); Assert.AreEqual(-2, minStack.Pop()); Assert.AreEqual(2, minStack.PeekMin()); Assert.AreEqual(2, minStack.Pop()); }
public void _3_2_StackWithMinimum_WithValidMinimums_ShouldStoreSuccessfully() { StackWithMinimum minStack = new StackWithMinimum(); minStack.Push(2); minStack.Push(3); minStack.Push(6); minStack.Push(1); minStack.Push(9); minStack.Push(0); Assert.AreEqual(0, minStack.PeekMin()); Assert.AreEqual(0, minStack.Pop()); Assert.AreEqual(1, minStack.PeekMin()); Assert.AreEqual(9, minStack.Pop()); Assert.AreEqual(1, minStack.PeekMin()); Assert.AreEqual(1, minStack.Pop()); Assert.AreEqual(2, minStack.PeekMin()); Assert.AreEqual(6, minStack.Pop()); Assert.AreEqual(2, minStack.PeekMin()); Assert.AreEqual(3, minStack.Pop()); Assert.AreEqual(2, minStack.PeekMin()); Assert.AreEqual(2, minStack.Pop()); }