diff options
Diffstat (limited to 'src/test/scala/rsacomb')
-rw-r--r-- | src/test/scala/rsacomb/CanonicalModelSpec.scala | 46 |
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 @@ | |||
1 | package rsacomb | ||
2 | |||
3 | import java.io.File | ||
4 | import org.scalatest.{FlatSpec, Matchers, LoneElement} | ||
5 | |||
6 | import org.semanticweb.owlapi.model._ | ||
7 | import uk.ac.manchester.cs.owl.owlapi._ | ||
8 | |||
9 | import tech.oxfordsemantic.jrdfox.logic.{Rule, Variable} | ||
10 | |||
11 | import scala.collection.JavaConverters._ | ||
12 | |||
13 | import rsacomb.RSA._ | ||
14 | import rsacomb.RDFoxUtil._ | ||
15 | |||
16 | object 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 | |||
30 | class 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 | ||