From 4ac28e74095c473e4ae0a44b0fb8db77a9ef3193 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Fri, 23 Oct 2020 13:24:52 +0200 Subject: Add tests for 'subObjectPropertyOf' axioms --- src/test/scala/rsacomb/CanonicalModelSpec.scala | 39 +++++++++++++++++++++---- 1 file changed, 34 insertions(+), 5 deletions(-) (limited to 'src/test/scala/rsacomb/CanonicalModelSpec.scala') diff --git a/src/test/scala/rsacomb/CanonicalModelSpec.scala b/src/test/scala/rsacomb/CanonicalModelSpec.scala index 783c149..5d633cc 100644 --- a/src/test/scala/rsacomb/CanonicalModelSpec.scala +++ b/src/test/scala/rsacomb/CanonicalModelSpec.scala @@ -56,6 +56,21 @@ object Ontology1_CanonicalModelSpec { Seq().asJava ) + val AsomeValuesFromSiC = new OWLSubClassOfAxiomImpl( + new OWLClassImpl(RSA.base("A")), + new OWLObjectSomeValuesFromImpl( + roleS_inv, + new OWLClassImpl(RSA.base("C")) + ), + Seq().asJava + ) + + val SsubPropertyOfT = new OWLSubObjectPropertyOfAxiomImpl( + new OWLObjectPropertyImpl(RSA.base("S")), + new OWLObjectPropertyImpl(RSA.base("T")), + Seq().asJava + ) + } // object OWLAxiomSpec class Ontology1_CanonicalModelSpec @@ -126,14 +141,19 @@ class Ontology1_CanonicalModelSpec ontology.confl(roleS) should contain(roleT_inv) } + // S⁻ + renderer.render(roleS_inv) should "be unsafe" in { ontology.unsafeRoles should contain(roleS_inv) } - it should ("contain " + renderer.render( - roleR_inv - ) + " in its conflict set") in { - ontology.confl(roleS_inv) should contain(roleR_inv) + renderer.render( + AsomeValuesFromSiC + ) should "produce 1 rule" in { + val varX = Variable.create("X") + val visitor = ProgramGenerator(ontology, varX) + val rules = AsomeValuesFromSiC.accept(visitor) + rules should have length 1 } renderer.render( @@ -162,7 +182,7 @@ class Ontology1_CanonicalModelSpec ontology.cycle(BsomeValuesFromSD).loneElement shouldBe ind } - it should "produce 5 rules" ignore { + it should "produce 5 rules" in { // Rule 1 provides 1 rule (split in 2) + 1 fact // Rule 2 provides 0 rules // Rule 3 provides 1 rule (split in 2) @@ -172,4 +192,13 @@ class Ontology1_CanonicalModelSpec rules should have length 5 } + renderer.render( + SsubPropertyOfT + ) should "produce 2 rules" in { + val varX = Variable.create("X") + val visitor = ProgramGenerator(ontology, varX) + val rules = SsubPropertyOfT.accept(visitor) + rules should have length 2 + } + } // class OWLAxiomSpec -- cgit v1.2.3