package com.coding.basic.stack; import static org.junit.Assert.*; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class QuickMinStackTest { @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void test() { QuickMinStack stack = new QuickMinStack(); Assert.assertTrue(stack.isEmpty()); Assert.assertEquals(0,stack.size()); stack.push(3); Assert.assertFalse(stack.isEmpty()); Assert.assertEquals(1,stack.size()); Assert.assertEquals(3,stack.peek()); Assert.assertEquals(3,stack.findMin()); Assert.assertEquals(3,stack.findMax()); Assert.assertEquals(3,stack.pop()); Assert.assertTrue(stack.isEmpty()); Assert.assertEquals(0,stack.size()); stack.push(5); stack.push(6); stack.push(3); stack.push(7); stack.push(1); Assert.assertEquals(1,stack.findMin()); Assert.assertEquals(7,stack.findMax()); stack.pop(); Assert.assertEquals(3,stack.findMin()); Assert.assertEquals(7,stack.findMax()); stack.pop(); Assert.assertEquals(3,stack.findMin()); Assert.assertEquals(6,stack.findMax()); } }