mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
增加QLExpress支持
This commit is contained in:
@@ -4,6 +4,7 @@ import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.extra.expression.engine.jexl.JexlEngine;
|
||||
import cn.hutool.extra.expression.engine.jfireel.JfireELEngine;
|
||||
import cn.hutool.extra.expression.engine.mvel.MvelEngine;
|
||||
import cn.hutool.extra.expression.engine.qlexpress.QLExpressEngine;
|
||||
import cn.hutool.extra.expression.engine.rhino.RhinoEngine;
|
||||
import cn.hutool.extra.expression.engine.spel.SpELEngine;
|
||||
import org.junit.Assert;
|
||||
@@ -26,7 +27,7 @@ public class ExpressionUtilTest {
|
||||
|
||||
@Test
|
||||
public void jexlTest(){
|
||||
ExpressionEngine engine = new JexlEngine();
|
||||
final ExpressionEngine engine = new JexlEngine();
|
||||
|
||||
final Dict dict = Dict.create()
|
||||
.set("a", 100.3)
|
||||
@@ -38,18 +39,18 @@ public class ExpressionUtilTest {
|
||||
|
||||
@Test
|
||||
public void jexlScriptTest(){
|
||||
ExpressionEngine engine = new JexlEngine();
|
||||
final ExpressionEngine engine = new JexlEngine();
|
||||
|
||||
String exps2="if(a>0){return 100;}";
|
||||
Map<String,Object> map2=new HashMap<>();
|
||||
final String exps2="if(a>0){return 100;}";
|
||||
final Map<String,Object> map2=new HashMap<>();
|
||||
map2.put("a", 1);
|
||||
Object eval1 = engine.eval(exps2, map2);
|
||||
final Object eval1 = engine.eval(exps2, map2);
|
||||
Assert.assertEquals(100, eval1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void mvelTest(){
|
||||
ExpressionEngine engine = new MvelEngine();
|
||||
final ExpressionEngine engine = new MvelEngine();
|
||||
|
||||
final Dict dict = Dict.create()
|
||||
.set("a", 100.3)
|
||||
@@ -61,7 +62,7 @@ public class ExpressionUtilTest {
|
||||
|
||||
@Test
|
||||
public void jfireELTest(){
|
||||
ExpressionEngine engine = new JfireELEngine();
|
||||
final ExpressionEngine engine = new JfireELEngine();
|
||||
|
||||
final Dict dict = Dict.create()
|
||||
.set("a", 100.3)
|
||||
@@ -73,7 +74,7 @@ public class ExpressionUtilTest {
|
||||
|
||||
@Test
|
||||
public void spELTest(){
|
||||
ExpressionEngine engine = new SpELEngine();
|
||||
final ExpressionEngine engine = new SpELEngine();
|
||||
|
||||
final Dict dict = Dict.create()
|
||||
.set("a", 100.3)
|
||||
@@ -85,7 +86,7 @@ public class ExpressionUtilTest {
|
||||
|
||||
@Test
|
||||
public void rhinoTest(){
|
||||
ExpressionEngine engine = new RhinoEngine();
|
||||
final ExpressionEngine engine = new RhinoEngine();
|
||||
|
||||
final Dict dict = Dict.create()
|
||||
.set("a", 100.3)
|
||||
@@ -95,4 +96,16 @@ public class ExpressionUtilTest {
|
||||
Assert.assertEquals(-143.8, (double)eval, 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void qlExpressTest(){
|
||||
final ExpressionEngine engine = new QLExpressEngine();
|
||||
|
||||
final Dict dict = Dict.of()
|
||||
.set("a", 100.3)
|
||||
.set("b", 45)
|
||||
.set("c", -199.100);
|
||||
final Object eval = engine.eval("a-(b-c)", dict);
|
||||
Assert.assertEquals(-143.8, (double)eval, 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user