package test.com.coding.basic.stack; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import com.coding.basic.stack.TwoStackInOneArray; public class TwoStackInOneArrayTest { TwoStackInOneArray stack; @Before public void setUp() throws Exception { stack = new TwoStackInOneArray(); } //@Test(expected = EmptyStackException.class) public void testPush1() { stack.push1("zj"); Assert.assertEquals("zj", stack.peek1()); stack.push1("hy"); Assert.assertEquals("hy", stack.peek1()); stack.pop1(); stack.pop1(); stack.peek1(); } //@Test(expected = EmptyStackException.class) public void testPop1() { stack.push1("zj"); Assert.assertEquals("zj", stack.pop1()); stack.pop1(); } //@Test public void testPeek1() { stack.push1("zj"); Assert.assertEquals("zj", stack.peek1()); stack.push1("hh"); stack.push1("hy"); Assert.assertEquals("hy", stack.peek1()); } //@Test(expected = EmptyStackException.class) public void testPush2() { stack.push2("zj"); Assert.assertEquals("zj", stack.peek2()); stack.push2("hy"); Assert.assertEquals("hy", stack.peek2()); stack.pop2(); stack.pop2(); stack.peek2(); } //@Test(expected = EmptyStackException.class) public void testPop2() { stack.push2("zj"); Assert.assertEquals("zj", stack.pop2()); stack.pop2(); } //@Test public void testPeek2() { stack.push2("zj"); Assert.assertEquals("zj", stack.peek2()); stack.push2("hh"); stack.push2("hy"); Assert.assertEquals("hy", stack.peek2()); } @Test public void testGrow() throws Exception{ for (int i = 0; i < 5; i++) { stack.push1(i); } for (int i = 0; i < 5; i++) { stack.push2(i); } Assert.assertEquals(4, stack.peek1()); Assert.assertEquals(4, stack.peek2()); //重置栈 setUp(); for (int i = 0; i < 11; i++) { stack.push1(i); } Assert.assertEquals(10, stack.peek1()); setUp(); for (int i = 0; i < 11; i++) { stack.push2(i); } Assert.assertEquals(10, stack.peek2()); setUp(); for (int i = 0; i < 5; i++) { stack.push1(i); } for (int i = 0; i < 10; i++) { stack.push2(i); } Assert.assertEquals(4, stack.peek1()); Assert.assertEquals(9, stack.peek2()); stack.pop1(); stack.pop2(); Assert.assertEquals(3, stack.peek1()); Assert.assertEquals(8, stack.peek2()); } }