package helper; import com.yanzuoguang.util.helper.FormulaHelper; import org.junit.Test; public class TestFormulaHelper { @Test public void test() { System.out.println(FormulaHelper.calc("120 + 2 * ( a + b * d )", new FormulaHelper.CalcParameter() { @Override public double getValue(String parameterName) { switch (parameterName){ case "a": return 5; case "b": return 3; case "d": return 11; default: return 0; } } })); } @Test public void testMul() { System.out.println(FormulaHelper.calc("(100-0)-2")); System.out.println(FormulaHelper.calc("100-0-2")); System.out.println(FormulaHelper.calc("100*2/3+2*5")); System.out.println(FormulaHelper.calc("8+3*4")); System.out.println(FormulaHelper.calc("(8+4)*3")); System.out.println(FormulaHelper.calc(" 8-6/3")); System.out.println(FormulaHelper.calc("(8-5)/3")); System.out.println(FormulaHelper.calc("(1-2)*(3-4)")); System.out.println(FormulaHelper.calc("1+(2+3)/(1+4)")); System.out.println(FormulaHelper.calc("1+(2-5)/(2+4)")); // System.out.println(FormulaHelper.calc("")); } @Test public void test1() { System.out.println(FormulaHelper.calc("= a * 120 + 2 * ( a + b * d )", new FormulaHelper.CalcParameter() { @Override public double getValue(String parameterName) { switch (parameterName){ case "a": return 5; case "b": return 3; case "d": return 11; default: return 0; } } })); } @Test public void test3() { System.out.println(FormulaHelper.calc("a * 0.006", new FormulaHelper.CalcParameter() { @Override public double getValue(String parameterName) { switch (parameterName){ case "a": return 1500; default: return 0; } } })); } @Test public void test2() { System.out.println(FormulaHelper.getExcelIndex("aa")); System.out.println(FormulaHelper.getExcelIndex("ba")); System.out.println(FormulaHelper.getExcelIndex("ab")); System.out.println(FormulaHelper.getExcelIndex("a")); } }