package test.com.coding.basic.stack;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import com.coding.basic.stack.Stack;
import com.coding.basic.stack.StackUtil;
public class TestStackUtil {
@Before
public void setup(){
}
@Test
public void testReverse(){
Stack s = new Stack();
s.push(1);
s.push(2);
s.push(3);
s.push(4);
s.push(5);
StackUtil.reverse(s);
Assert.assertEquals("5,4,3,2,1", s.toString());
}
@Test
public void testRemoveObj(){
Stack s = new Stack();
s.push(1);
s.push(2);
s.push(3);
s.push(4);
s.push(5);
StackUtil.remove(s, 3);
Assert.assertEquals("1,2,4,5", s.toString());
StackUtil.remove(s, 6);
Assert.assertEquals("1,2,4,5", s.toString());
}
@Test
public void testGetTop(){
Stack s = new Stack();
s.push(1);
s.push(2);
s.push(3);
s.push(4);
s.push(5);
Object[] objs = StackUtil.getTop(s, 2);
Assert.assertEquals("1,2,3,4,5", s.toString());
Assert.assertEquals(2, objs.length);
Assert.assertEquals(5, objs[0]);
Assert.assertEquals(4, objs[1]);
}
@Test
public void testIsValidPairs(){
Assert.assertEquals(true, StackUtil.isValidPairs("([e{d}{f}])"));
Assert.assertEquals(false, StackUtil.isValidPairs("([b{x[]y})"));
}
}