package com.coding.basic.stack; import static org.junit.Assert.*; import org.junit.After; import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import com.coding.basic.stack.expr.InfixExpr; public class StackUtilTest { Stack s; @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void testToString() { s=new Stack(); s.push(1); s.push(2); s.push(3); s.push(4); s.push(5); s.push(6); Assert.assertEquals("[6,5,4,3,2,1]", s.toString()); } @Test public void testReverse() { s=new Stack(); s.push(1); s.push(2); s.push(3); s.push(4); s.push(5); s.push(6); StackUtil.reverse(s); //System.out.println(s.size()); Assert.assertEquals("[1,2,3,4,5,6]", s.toString()); } @Test public void testRemove() { s=new Stack(); s.push(1); s.push(2); s.push(3); s.push(4); s.push(5); s.push(6); StackUtil.remove(s, 6); //System.out.println(s.toString()); Assert.assertEquals("[5,4,3,2,1]", s.toString()); } @Test public void testGetTop() { s=new Stack(); s.push(1); s.push(2); s.push(3); s.push(4); s.push(5); s.push(6); Object[] s1=StackUtil.getTop(s, s.size()); for (int i = 0; i < s1.length; i++) { System.out.println(s1[i]); } //Assert.assertEquals("[5,6]", s1.toString()); } @Test public void testIsValidPairs() { String s="([e{df])" ; Assert.assertEquals(false, StackUtil.isValidPairs(s)); } //5-2+3 6/2*3 5-2+3*4 2+3-5 @Test public void testevaluate() { InfixExpr expr = new InfixExpr("2+3*4+5"); System.out.println(expr.evaluate()); Assert.assertEquals(19, expr.evaluate(), 0.001f); InfixExpr expr1 = new InfixExpr("5-2+3"); System.out.println(expr1.evaluate()); Assert.assertEquals(6, expr1.evaluate(), 0.001f); InfixExpr expr2 = new InfixExpr("6/2*3"); System.out.println(expr2.evaluate()); Assert.assertEquals(9, expr2.evaluate(), 0.001f); InfixExpr expr3 = new InfixExpr("50-2+3*4"); System.out.println(expr3.evaluate()); Assert.assertEquals(60, expr3.evaluate(), 0.001f); InfixExpr expr4 = new InfixExpr("20+30-50"); System.out.println(expr4.evaluate()); Assert.assertEquals(0, expr4.evaluate(), 0.001f); } }