From 34d18836c5a59c73a672328e65c842fc75ddb5e1 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Fri, 9 Oct 2020 19:16:44 +0200 Subject: Add skeleton file for CanonicalModel testing --- src/test/scala/rsacomb/CanonicalModelSpec.scala | 46 +++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/test/scala/rsacomb/CanonicalModelSpec.scala (limited to 'src/test') diff --git a/src/test/scala/rsacomb/CanonicalModelSpec.scala b/src/test/scala/rsacomb/CanonicalModelSpec.scala new file mode 100644 index 0000000..44c4441 --- /dev/null +++ b/src/test/scala/rsacomb/CanonicalModelSpec.scala @@ -0,0 +1,46 @@ +package rsacomb + +import java.io.File +import org.scalatest.{FlatSpec, Matchers, LoneElement} + +import org.semanticweb.owlapi.model._ +import uk.ac.manchester.cs.owl.owlapi._ + +import tech.oxfordsemantic.jrdfox.logic.{Rule, Variable} + +import scala.collection.JavaConverters._ + +import rsacomb.RSA._ +import rsacomb.RDFoxUtil._ + +object CanonicalModelSpec { + + val ontology1_path: File = new File("examples/example1.owl") + val ontology1 = RSA.loadOntology(ontology1_path) + val program1 = ontology1.canonicalModel + + val axiom1 = new OWLSubClassOfAxiomImpl( + new OWLClassImpl(RSA.base("A")), + new OWLClassImpl(RSA.base("D")), + Seq().asJava + ) + +} // object OWLAxiomSpec + +class CanonicalModelSpec extends FlatSpec with Matchers with LoneElement { + + import CanonicalModelSpec._ + + // Example 1 + "The program generated from Example1" should "not be empty" in { + program1 should not be empty + } + + axiom1.toString should "be converted into a single Rule" in { + val varX = Variable.create("X") + val visitor = ProgramGenerator(ontology1, varX) + val rules = axiom1.accept(visitor) + rules.loneElement shouldBe a[Rule] + } + +} // class OWLAxiomSpec -- cgit v1.2.3