package com.coding.basic.ut; import static org.junit.Assert.*; import org.junit.Before; import org.junit.Test; import com.coding.basic.Stack; public class StackTest { Stack target = null; @Before public void setUp() throws Exception { target = new Stack(); } @Test public void testPush() { target.push(10); target.push(null); } @Test public void testPop() { target.push(10); target.push(11); target.push(12); assertEquals(12, target.pop()); assertEquals(11, target.pop()); assertEquals(10, target.pop()); } @Test public void testPeek() { Object item = target.peek(); assertEquals(item, null); target.push(10); item = target.peek(); assertEquals(item, 10); } @Test public void testIsEmpty() { assertTrue(target.isEmpty()); target.push(10); assertFalse(target.isEmpty()); target.pop(); assertTrue(target.isEmpty()); } @Test public void testSize() { assertEquals(0, target.size()); target.push(10); assertEquals(1, target.size()); target.push(10); assertEquals(2, target.size()); target.pop(); assertEquals(1, target.size()); target.pop(); assertEquals(0, target.size()); } }