package stack; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class QuickMinStackTest { QuickMinStack qs; @Before public void setUp() throws Exception { qs = new QuickMinStack(); } @After public void tearDown() throws Exception { qs = null; } @Test public void testPush() { qs.push(1); qs.push(2); } @Test public void testPop() { qs.push(1); qs.push(2); assertEquals(2,qs.pop()); assertEquals(1,qs.pop()); } @Test public void testSize() { assertEquals(0,qs.size()); qs.push(1); qs.push(2); assertEquals(2,qs.size()); } @Test public void testFindMin() { for (int i = 0; i < 8; i++) { qs.push(i); } qs.push(-19); qs.push(100); assertEquals(-19,qs.findMin()); qs.pop(); qs.pop(); assertEquals(0,qs.findMin()); qs.push(-1); qs.push(-1); assertEquals(-1,qs.findMin()); qs.pop(); assertEquals(-1,qs.findMin()); qs.pop(); assertEquals(0,qs.findMin()); } }