@Test public void popEmptyStackExceptionAfterMultiplePushPop() { stack.push(100); stack.push(200); stack.push(300); assertEquals(3, stack.size()); assertEquals(300, stack.pop()); assertEquals(2, stack.size()); assertEquals(200, stack.pop()); assertEquals(1, stack.size()); assertEquals(100, stack.pop()); assertEquals(0, stack.size()); stack.push(999); assertEquals(1, stack.size()); assertEquals(999, stack.pop()); ex.expect(StackEmptyException.class); stack.pop(); }
@Test public void pushPopOneElement() { stack.push(100); assertEquals(1, stack.size()); assertEquals(100, stack.pop()); assertEquals(0, stack.size()); }
@Test public void pushPopTwoElements() { stack.push(100); stack.push(200); assertEquals(2, stack.size()); assertEquals(200, stack.pop()); assertEquals(1, stack.size()); assertEquals(100, stack.pop()); }
@Test public void pushPopElementsMultipleTimes() { stack.push(300); stack.push(400); stack.push(500); stack.push(600); stack.push(700); assertEquals(5, stack.size()); assertEquals(700, stack.pop()); assertEquals(4, stack.size()); assertEquals(600, stack.pop()); assertEquals(3, stack.size()); assertEquals(500, stack.pop()); assertEquals(2, stack.size()); assertEquals(400, stack.pop()); assertEquals(1, stack.size()); assertEquals(300, stack.pop()); assertEquals(0, stack.size()); stack.push(99); assertEquals(1, stack.size()); assertEquals(99, stack.pop()); assertEquals(0, stack.size()); }
@Test public void sizeAfterTwoElementsAdded() { stack.push(100); stack.push(200); assertEquals(2, stack.size()); }
@Test public void sizeAfterOneElementAdded() { stack.push(100); assertEquals(1, stack.size()); }
@Test public void sizeWhenNoElementAdded() { assertEquals(0, stack.size()); }