package com.github.congcongcong250.coding2017.basicTest; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import com.github.congcongcong250.coding2017.basic.WStack; public class WStackTest implements testCase { WStack teststack = new WStack(); @Override @Before public void setUp() { for(int i = 0; i < 20; i++){ teststack.push(i); } } @Override @After public void tearDown() { teststack.clear(); } @Override @Test public void testAdd() { assertEquals(20,teststack.size()); assertEquals(19,teststack.peek()); assertEquals(20,teststack.size()); assertFalse(teststack.isEmpty()); } @Override @Test public void testRemove() { assertEquals(20,teststack.size()); assertEquals(19,teststack.pop()); assertEquals(19,teststack.size()); assertEquals(18,teststack.peek()); assertFalse(teststack.isEmpty()); } @Override @Test public void testFunctional() { for(int i = 0; i < 20; i++){ teststack.pop(); } assertTrue(teststack.isEmpty()); teststack.push(100); teststack.push(200); assertEquals(200,teststack.pop()); teststack.push(400); assertEquals(400,teststack.pop()); assertFalse(teststack.isEmpty()); assertEquals(100,teststack.pop()); boolean hasExp = false; try{ teststack.pop(); }catch (IndexOutOfBoundsException e){ hasExp = true; } assertTrue(hasExp); } }