package week09.stack.test; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import week09.stack.QuickMinStack; public class QuickMinStackTest { QuickMinStack qms = new QuickMinStack(); @Before public void setUp() throws Exception { qms.push(9); qms.push(5); qms.push(6); qms.push(10); qms.push(2); qms.push(3); qms.push(13); } @Test public void testPush() { for (int i = 0; i < 10; i++) { qms.push(i); } for (int i = 9; i >= 0; i--) { Assert.assertEquals(i, qms.pop()); } } @Test public void testPop() { Assert.assertEquals(13, qms.pop()); Assert.assertEquals(3, qms.pop()); Assert.assertEquals(2, qms.pop()); Assert.assertEquals(10, qms.pop()); Assert.assertEquals(6, qms.pop()); Assert.assertEquals(5, qms.pop()); Assert.assertEquals(9, qms.pop()); } @Test public void testFindMin() { Assert.assertEquals(2, qms.findMin()); qms.push(2); qms.push(6); qms.push(26); Assert.assertEquals(2, qms.findMin()); qms.pop(); qms.pop(); qms.pop(); qms.pop(); qms.pop(); qms.pop(); Assert.assertEquals(5, qms.findMin()); } }