TestFormulaHelper.java 2.66 KB
Newer Older
yanzg's avatar
yanzg committed
1 2
package helper;

yanzg's avatar
yanzg committed
3
import com.yanzuoguang.util.helper.FormulaHelper;
yanzg's avatar
yanzg committed
4 5
import org.junit.Test;

yanzg's avatar
yanzg committed
6
public class TestFormulaHelper {
yanzg's avatar
yanzg committed
7 8 9

    @Test
    public void test() {
yanzg's avatar
yanzg committed
10
        System.out.println(FormulaHelper.calc("120 + 2 * ( a + b * d )", new FormulaHelper.CalcParameter() {
yanzg's avatar
yanzg committed
11 12 13 14 15 16 17 18 19 20 21 22 23 24
            @Override
            public double getValue(String parameterName) {
                switch (parameterName){
                    case "a":
                        return 5;
                    case "b":
                        return 3;
                    case "d":
                        return 11;
                    default:
                        return 0;
                }
            }
        }));
yanzg's avatar
yanzg committed
25 26
    }

yanzg's avatar
yanzg committed
27 28
    @Test
    public void testMul() {
yanzg's avatar
yanzg committed
29
        System.out.println(FormulaHelper.calc("(100-0)-2"));
yanzg's avatar
yanzg committed
30
        System.out.println(FormulaHelper.calc("100-0-2"));
yanzg's avatar
yanzg committed
31
        System.out.println(FormulaHelper.calc("100*2/3+2*5"));
yanzg's avatar
yanzg committed
32 33 34 35 36 37 38 39 40 41 42

        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(""));

yanzg's avatar
yanzg committed
43 44 45
    }


yanzg's avatar
yanzg committed
46 47
    @Test
    public void test1() {
yanzg's avatar
yanzg committed
48

yanzg's avatar
yanzg committed
49
        System.out.println(FormulaHelper.calc("= a * 120 + 2 * ( a + b * d )", new FormulaHelper.CalcParameter() {
yanzg's avatar
yanzg committed
50 51 52 53 54 55 56 57 58 59 60 61 62 63
            @Override
            public double getValue(String parameterName) {
                switch (parameterName){
                    case "a":
                        return 5;
                    case "b":
                        return 3;
                    case "d":
                        return 11;
                    default:
                        return 0;
                }
            }
        }));
yanzg's avatar
yanzg committed
64
    }
yanzg's avatar
yanzg committed
65

yanzg's avatar
yanzg committed
66 67
    @Test
    public void test3() {
yanzg's avatar
yanzg committed
68
        System.out.println(FormulaHelper.calc("a * 0.006", new FormulaHelper.CalcParameter() {
yanzg's avatar
yanzg committed
69 70 71 72 73 74 75 76 77 78 79 80
            @Override
            public double getValue(String parameterName) {
                switch (parameterName){
                    case "a":
                        return 1500;
                    default:
                        return 0;
                }
            }
        }));
    }

yanzg's avatar
yanzg committed
81 82
    @Test
    public void test2() {
yanzg's avatar
yanzg committed
83 84 85 86
        System.out.println(FormulaHelper.getExcelIndex("aa"));
        System.out.println(FormulaHelper.getExcelIndex("ba"));
        System.out.println(FormulaHelper.getExcelIndex("ab"));
        System.out.println(FormulaHelper.getExcelIndex("a"));
yanzg's avatar
yanzg committed
87
    }
yanzg's avatar
yanzg committed
88
}