aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/rsacomb
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/rsacomb')
-rw-r--r--src/test/scala/rsacomb/CanonicalModelSpec.scala46
1 files changed, 46 insertions, 0 deletions
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 @@
1package rsacomb
2
3import java.io.File
4import org.scalatest.{FlatSpec, Matchers, LoneElement}
5
6import org.semanticweb.owlapi.model._
7import uk.ac.manchester.cs.owl.owlapi._
8
9import tech.oxfordsemantic.jrdfox.logic.{Rule, Variable}
10
11import scala.collection.JavaConverters._
12
13import rsacomb.RSA._
14import rsacomb.RDFoxUtil._
15
16object CanonicalModelSpec {
17
18 val ontology1_path: File = new File("examples/example1.owl")
19 val ontology1 = RSA.loadOntology(ontology1_path)
20 val program1 = ontology1.canonicalModel
21
22 val axiom1 = new OWLSubClassOfAxiomImpl(
23 new OWLClassImpl(RSA.base("A")),
24 new OWLClassImpl(RSA.base("D")),
25 Seq().asJava
26 )
27
28} // object OWLAxiomSpec
29
30class CanonicalModelSpec extends FlatSpec with Matchers with LoneElement {
31
32 import CanonicalModelSpec._
33
34 // Example 1
35 "The program generated from Example1" should "not be empty" in {
36 program1 should not be empty
37 }
38
39 axiom1.toString should "be converted into a single Rule" in {
40 val varX = Variable.create("X")
41 val visitor = ProgramGenerator(ontology1, varX)
42 val rules = axiom1.accept(visitor)
43 rules.loneElement shouldBe a[Rule]
44 }
45
46} // class OWLAxiomSpec