def test_stack(self): stack = StackWithMin() stack.push(1) self.assertEqual(stack.min(), 1) stack.push(2) self.assertEqual(stack.min(), 1) stack.push(0) self.assertEqual(stack.min(), 0) stack.push(4) self.assertEqual(stack.min(), 0) stack.pop() self.assertEqual(stack.min(), 0) stack.pop() self.assertEqual(stack.min(), 1) stack.push(-1) self.assertEqual(stack.min(), -1) stack.pop() self.assertEqual(stack.min(), 1)
def testMin(self): stack = StackWithMin() stack.push(10) stack.push(5) self.assertEqual(stack.getMin(), 5) stack.push(3) stack.push(9) self.assertEqual(stack.getMin(), 3)
def testPushAndPop2(self): stack = StackWithMin() stack.push(10) stack.push(5) self.assertEqual(stack.pop(), 5) stack.push(9) stack.push(3) self.assertEqual(stack.pop(), 3)
def testPushAndPop(self): stack = StackWithMin() stack.push(1) stack.push(2) stack.push(3) stack.push(4) self.assertEqual(stack.pop(), 4) self.assertEqual(stack.pop(), 3) self.assertEqual(stack.pop(), 2) self.assertEqual(stack.pop(), 1)