From 55d0cdcd77105f083e0119f2ee0c26f63c8fed0d Mon Sep 17 00:00:00 2001 From: Caishun Chen Date: Tue, 9 May 2017 10:31:13 +0800 Subject: [PATCH] increase test coverage for js rule kie --- .../cschen1205/ess/engine/KieRuleInferenceEngine.java | 2 +- .../ess/js/JSRuleInferenceEngineUnitTest.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/github/cschen1205/ess/engine/KieRuleInferenceEngine.java b/src/main/java/com/github/cschen1205/ess/engine/KieRuleInferenceEngine.java index 0d7c8d8..5b110a3 100755 --- a/src/main/java/com/github/cschen1205/ess/engine/KieRuleInferenceEngine.java +++ b/src/main/java/com/github/cschen1205/ess/engine/KieRuleInferenceEngine.java @@ -153,7 +153,7 @@ protected boolean fireRule(List conflictingRules){ @Override public List getFactsAboutVariable(String variable){ List facts = new ArrayList<>(); for(Clause c : memory.getFacts()){ - if(c.getVariable().contains(variable)){ + if(c.getVariable().equalsIgnoreCase(variable)){ facts.add(c); } } diff --git a/src/test/java/com/github/cschen1205/ess/js/JSRuleInferenceEngineUnitTest.java b/src/test/java/com/github/cschen1205/ess/js/JSRuleInferenceEngineUnitTest.java index 949febe..368c65c 100644 --- a/src/test/java/com/github/cschen1205/ess/js/JSRuleInferenceEngineUnitTest.java +++ b/src/test/java/com/github/cschen1205/ess/js/JSRuleInferenceEngineUnitTest.java @@ -1,14 +1,17 @@ package com.github.cschen1205.ess.js; +import com.github.cschen1205.ess.engine.Clause; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import javax.script.ScriptException; +import java.io.FileNotFoundException; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Arrays; import java.util.Collections; +import java.util.List; /** * Created by cschen on 28/4/17. @@ -22,6 +25,11 @@ public void setup() throws ScriptException { } + @Test + public void testLoadFileWithException() throws ScriptException { + engine.loadFile("/tmp/rules-new.js"); + } + @Test public void testLoadFile() throws IOException, ScriptException { String jsContent = IOUtil.readToEnd("js/vehicle-rules.js"); @@ -51,6 +59,9 @@ public void testLoadFile() throws IOException, ScriptException { System.out.println(engine.getKnowledgeBase()); System.out.println(); + List facts = engine.getFacts("vehicle"); + facts.forEach(f -> System.out.println(f)); + }