package test;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import main.Stack;
public class StackTest {
private Stack stack;
@Before
public void init(){
stack = new Stack();
}
@Test
public void testPush() {
stack.push("a");
assertEquals("a", stack.peek());
stack.push("b");
assertEquals("b", stack.peek());
}
@Test
public void testPop() {
try{
stack.pop();
fail("empty stack hasn't element");
}catch (Exception e) {
}
stack.push("a");
stack.push("b");
stack.push("c");
assertEquals("c", stack.pop());
assertEquals("b", stack.pop());
assertEquals("a", stack.pop());
}
@Test
public void testPeek() {
}
@Test
public void testIsEmpty() {
assertTrue(stack.isEmpty());
stack.push("a");
stack.push("b");
assertFalse(stack.isEmpty());
stack.pop();
assertFalse(stack.isEmpty());
stack.pop();
assertTrue(stack.isEmpty());
}
@Test
public void testSize() {
assertEquals(0, stack.size());
stack.push("a");
stack.push("b");
assertEquals(2, stack.size());
}
}