package com.sap.furcas.runtime.parser.textblocks.observer; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import org.junit.Test; public class TestStack { @Test public void testpushPop() { Stack<Object> stack = new Stack<Object>(); stack.push("test1"); stack.push("test2"); assertEquals("test2", stack.peek()); assertEquals("test2", stack.pop()); assertEquals("test1", stack.peek()); assertEquals("test1", stack.pop()); assertTrue(stack.isEmpty()); } @Test public void testPushPop2() { Stack<Object> stack = new Stack<Object>(); stack.push("test1"); stack.pop(); stack.push("test2"); assertEquals("test2", stack.peek()); assertEquals("test2", stack.pop()); assertTrue(stack.isEmpty()); } @Test public void testNewStackException() { Stack<Object> stack = new Stack<Object>(); boolean caught; caught = false; try { stack.peek(); } catch (IllegalStateException e) { caught = true; } assertTrue("Exception expected", caught); caught = false; try { stack.pop(); } catch (IllegalStateException e) { caught = true; } assertTrue("Exception expected", caught); } @Test public void testNewStack() { Stack<Object> stack = new Stack<Object>(); assertTrue(stack.isEmpty()); } }