package com.github.miniyk2012.coding2017.basic.stack.expr;
import org.junit.Assert;
import org.junit.Test;
import org.junit.Before;
import org.junit.After;
import java.util.List;
/**
* InfixToPostfix Tester.
*
* @author <Authors name>
* @since <pre>Apr 30, 2017</pre>
* @version 1.0
*/
public class InfixToPostfixTest {
@Before
public void before() throws Exception {
}
@After
public void after() throws Exception {
}
/**
*
* Method: convert(String expr)
*
*/
@Test
public void testConvert() throws Exception {
{
String infixExpr = "3+4";
List<Token> tokens = InfixToPostfix.convert(infixExpr);
Assert.assertEquals("3 4 +", ExprUtil.tokens2String(tokens));
}
{
String infixExpr = "1 * 3 + 4 * 6";
List<Token> tokens = InfixToPostfix.convert(infixExpr);
Assert.assertEquals("1 3 * 4 6 * +", ExprUtil.tokens2String(tokens));
}
{
String infixExpr = "1 * 3 / 4 * 6";
List<Token> tokens = InfixToPostfix.convert(infixExpr);
Assert.assertEquals("1 3 * 4 / 6 *", ExprUtil.tokens2String(tokens));
}
{
String infixExpr = "1 + 3 * 4";
List<Token> tokens = InfixToPostfix.convert(infixExpr);
Assert.assertEquals("1 3 4 * +", ExprUtil.tokens2String(tokens));
}
{
String infixExpr = "3+2*3+4*5";
List<Token> tokens = InfixToPostfix.convert(infixExpr);
Assert.assertEquals("3 2 3 * + 4 5 * +", ExprUtil.tokens2String(tokens));
}
{
String infixExpr = "1-3+5-2/1/2*4";
List<Token> tokens = InfixToPostfix.convert(infixExpr);
Assert.assertEquals("1 3 - 5 + 2 1 / 2 / 4 * -", ExprUtil.tokens2String(tokens));
}
}
}