Пример #1
0
        public void Negative()
        {
            Stack.MinStackConstantSpace stackCS = new Stack.MinStackConstantSpace();
            Stack.MinStackConstantSpace stack = new Stack.MinStackConstantSpace();

            stackCS.Push(1);
            stackCS.Push(-2);
            stackCS.Push(3);
            Assert.AreEqual(-2, stackCS.GetMin());
            stackCS.Push(-3);
            Assert.AreEqual(-3, stackCS.GetMin());
            stackCS.Pop();
            Assert.AreEqual(-2, stackCS.GetMin());
            stackCS.Push(11);
            Assert.AreEqual(11, stackCS.Pop());
            Assert.AreEqual(3, stackCS.Pop());
            Assert.AreEqual(-2, stackCS.Pop());
            Assert.AreEqual(1, stackCS.Pop());

            stack.Push(1);
            stack.Push(-2);
            stack.Push(3);
            Assert.AreEqual(-2, stack.GetMin());
            stack.Push(-3);
            Assert.AreEqual(-3, stack.GetMin());
            stack.Pop();
            Assert.AreEqual(-2, stack.GetMin());
            stack.Push(11);
            Assert.AreEqual(11, stack.Pop());
            Assert.AreEqual(3, stack.Pop());
            Assert.AreEqual(-2, stack.Pop());
            Assert.AreEqual(1, stack.Pop());
        }
Пример #2
0
        public void MultiplePushAndMin()
        {
            Stack.MinStackConstantSpace stackCS = new Stack.MinStackConstantSpace();
            Stack.MinStack stack = new Stack.MinStack();

            stackCS.Push(10);
            stackCS.Push(9);
            stackCS.Push(8);
            stack.Push(10);
            stack.Push(9);
            stack.Push(8);

            Assert.AreEqual(8, stackCS.GetMin());
            Assert.AreEqual(8, stack.GetMin());
        }
Пример #3
0
        public void PopAndMinAfterPop()
        {
            Stack.MinStackConstantSpace stackCS = new Stack.MinStackConstantSpace();
            Stack.MinStack stack = new Stack.MinStack();

            stackCS.Push(10);
            stackCS.Push(9);
            stackCS.Push(8);
            stackCS.Pop();
            stackCS.Push(11);

            stack.Push(10);
            stack.Push(9);
            stack.Push(8);
            stack.Pop();
            stack.Push(11);

            Assert.AreEqual(9, stackCS.GetMin());
            Assert.AreEqual(11, stackCS.Pop());
            Assert.AreEqual(9, stack.GetMin());
            Assert.AreEqual(11, stack.Pop());
        }