From a42661650bb135afc13693df2f13fafa4f6b9c7c Mon Sep 17 00:00:00 2001 From: Akira <akira.charoensit@inria.fr> Date: Thu, 13 Feb 2025 22:43:46 +0100 Subject: [PATCH] - Adding more tests --- .../explainer/KBSupportExplainerTest.java | 43 +++++++++++++++++-- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/integraal/integraal-explanation/src/test/java/fr/boreal/test/explanation/explainer/KBSupportExplainerTest.java b/integraal/integraal-explanation/src/test/java/fr/boreal/test/explanation/explainer/KBSupportExplainerTest.java index 4677161c4..b9c8b0b90 100644 --- a/integraal/integraal-explanation/src/test/java/fr/boreal/test/explanation/explainer/KBSupportExplainerTest.java +++ b/integraal/integraal-explanation/src/test/java/fr/boreal/test/explanation/explainer/KBSupportExplainerTest.java @@ -28,6 +28,46 @@ public class KBSupportExplainerTest { public void setUp() { } + @Test + public void KBSupportExplainerTestCyclic3() { + Atom query = TestData.ta; + + FactBase factBase = new SimpleInMemoryGraphStore(List.of(TestData.pa)); + RuleBase ruleBase = new RuleBaseImpl(List.of(TestData.r1,TestData.r10, TestData.r11)); + KnowledgeBase kb = new KnowledgeBaseImpl(factBase, ruleBase); + + explainer = new KBSupportExplainer(kb); + Set<KnowledgeBase> explanations = explainer.explain(query); + + FactBase expectedFactBase1 = new SimpleInMemoryGraphStore(Set.of(TestData.pa)); + RuleBase expectedRuleBase1 = new RuleBaseImpl(Set.of(TestData.r1, TestData.r10)); + KnowledgeBase expectedExpl1 = new KnowledgeBaseImpl(expectedFactBase1, expectedRuleBase1); + + Assertions.assertTrue(explanations.contains(expectedExpl1), "(Completeness issue) Explanation missing: " + expectedExpl1); + Assertions.assertEquals(1, explanations.size(), "(Soundness issue) identify non-explanation as explanation"); + } + + + @Test + public void KBSupportExplainerTestCyclic2() { + Atom query = TestData.qa; + + FactBase factBase = new SimpleInMemoryGraphStore(List.of(TestData.pa)); + RuleBase ruleBase = new RuleBaseImpl(List.of(TestData.r1,TestData.r10, TestData.r11)); + KnowledgeBase kb = new KnowledgeBaseImpl(factBase, ruleBase); + + explainer = new KBSupportExplainer(kb); + Set<KnowledgeBase> explanations = explainer.explain(query); + + FactBase expectedFactBase1 = new SimpleInMemoryGraphStore(Set.of(TestData.pa)); + RuleBase expectedRuleBase1 = new RuleBaseImpl(Set.of(TestData.r1)); + KnowledgeBase expectedExpl1 = new KnowledgeBaseImpl(expectedFactBase1, expectedRuleBase1); + + Assertions.assertTrue(explanations.contains(expectedExpl1), "(Completeness issue) Explanation missing: " + expectedExpl1); + Assertions.assertEquals(1, explanations.size(), "(Soundness issue) identify non-explanation as explanation"); + } + + @Test public void KBSupportExplainerTestCyclic1() { Atom query = TestData.qa; @@ -43,12 +83,10 @@ public class KBSupportExplainerTest { RuleBase expectedRuleBase1 = new RuleBaseImpl(Set.of(TestData.r1)); KnowledgeBase expectedExpl1 = new KnowledgeBaseImpl(expectedFactBase1, expectedRuleBase1); - System.out.println(explanations); Assertions.assertTrue(explanations.contains(expectedExpl1), "(Completeness issue) Explanation missing: " + expectedExpl1); Assertions.assertEquals(1, explanations.size(), "(Soundness issue) identify non-explanation as explanation"); } - @Test public void KBSupportExplainerTest4() { Atom query = TestData.pa; @@ -113,7 +151,6 @@ public class KBSupportExplainerTest { RuleBase expectedRuleBase = new RuleBaseImpl(Set.of(TestData.r6,TestData.r8)); KnowledgeBase expectedExpl = new KnowledgeBaseImpl(expectedFactBase, expectedRuleBase); - System.out.println(explanations); Assertions.assertTrue(explanations.contains(expectedExpl), "(Completeness issue) Explanation missing: " + expectedExpl); Assertions.assertEquals(1, explanations.size(), "(Soundness issue) identify non-explanation as explanation"); -- GitLab