package com.easyooo.framework.rule; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; import java.io.StringReader; import org.junit.Test; public class RuleEngineManagerTest { String classRuleText = "int a = local.get(\"a\");" + " if(a > 18 && a < 36){ return \"美女\";} else{ return \"滚\"; }"; String scriptRuleText = "var a = local.get('a'); " + " if(a > 18 && a < 36){ '美女'} else{ '滚' }"; /** * 简单的测试一段Java脚本 * @throws RuleException */ @Test public void testJavaEngine() throws RuleException{ Rule rule = RuleBuilder.build(new StringReader(classRuleText), Language.JAVA); RuleEngineProxy proxy = new RuleEngineProxy(rule); try{ Object obj = null; proxy.eval(obj); }catch(NullPointerException e){ //e.printStackTrace(); } String rv = proxy.eval("a", 24); assertThat(rv, is("美女")); Rule rule1 = RuleBuilder.build(new StringReader(classRuleText), Language.JAVASCRIPT); RuleEngineProxy proxy1 = new RuleEngineProxy(rule1); try{ Object obj = null; proxy1.eval(obj); }catch(NullPointerException e){ //e.printStackTrace(); } String rv1 = proxy.eval("a", 24); assertThat(rv1, is("美女")); } }