package test.com.coding.basic.stack; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import com.coding.basic.stack.StackWithTwoQueues; public class StackWithTwoQueuesTest { StackWithTwoQueues<Object> stack; @Before public void setUp() throws Exception { stack = new StackWithTwoQueues<>(); } @Test public void testPush() { stack.push(123); Assert.assertEquals(1, stack.size()); stack.push("zj"); stack.push('Y'); Assert.assertEquals(3, stack.size()); } @Test public void testPop() { stack.push(123); stack.push("zj"); Assert.assertEquals("zj", stack.pop()); Assert.assertEquals(1, stack.size()); stack.push('H'); stack.push('Y'); Assert.assertEquals('Y', stack.pop()); Assert.assertEquals(2, stack.size()); } @Test public void testSize() { Assert.assertEquals(0, stack.size()); stack.push("zj"); stack.push('H'); stack.push('y'); Assert.assertEquals(3, stack.size()); stack.pop(); Assert.assertEquals(2, stack.size()); } @Test public void testIsEmpty() { Assert.assertEquals(true, stack.isEmpty()); stack.push("zj"); stack.push('H'); stack.push('y'); Assert.assertEquals(false, stack.isEmpty()); } }