package test.com.coding.basic.queue; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import com.coding.basic.queue.QueueWithTwoStacks; public class QueueWithTwoStacksTest { private QueueWithTwoStacks<Object> queue; @Before public void setUp() throws Exception { queue = new QueueWithTwoStacks<>(); } @Test public void testIsEmpty() { Assert.assertEquals(true, queue.isEmpty()); } @Test public void testSize() { Assert.assertEquals(0, queue.size()); queue.enQueue("zj"); Assert.assertEquals(1, queue.size()); for (int i = 0; i < 10; i++) { queue.enQueue(i); } Assert.assertEquals(11, queue.size()); for (int i = 0; i < 5; i++) { queue.deQueue(); } Assert.assertEquals(6, queue.size()); } @Test public void testEnQueue() { for (int i = 0; i < 10; i++) { queue.enQueue(i); } for (int i = 0; i < 10; i++) { Assert.assertEquals(i, queue.deQueue()); } } @Test public void testDeQueue() { Assert.assertEquals(null, queue.deQueue()); for (int i = 0; i < 10; i++) { queue.enQueue(i); } for (int i = 0; i < 5; i++) { queue.deQueue(); } Assert.assertEquals(5, queue.size()); Assert.assertEquals(false, queue.isEmpty()); } }