aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFederico Igne <git@federicoigne.com>2021-10-03 11:16:03 +0100
committerFederico Igne <git@federicoigne.com>2021-10-03 11:16:03 +0100
commit297c88902b27030cb9f6004c51ccae18eb453933 (patch)
tree6aa357e19e0bac02dbc7322f018009dac9dbf492 /src
parent2aa8094df2eb9fde48c8073fbdbb2ebcc42fdbf0 (diff)
downloadRSAComb-297c88902b27030cb9f6004c51ccae18eb453933.tar.gz
RSAComb-297c88902b27030cb9f6004c51ccae18eb453933.zip
Temporary comment unit test
Diffstat (limited to 'src')
-rw-r--r--src/test/scala/uk/ac/ox/cs/rsacomb/CanonicalModelSpec.scala2
-rw-r--r--src/test/scala/uk/ac/ox/cs/rsacomb/filtering/FilteringProgramSpecs.scala46
-rw-r--r--src/test/scala/uk/ac/ox/cs/rsacomb/sparql/ConjunctiveQueryAnswerSpecs.scala186
-rw-r--r--src/test/scala/uk/ac/ox/cs/rsacomb/sparql/ConjunctiveQuerySpec.scala180
4 files changed, 207 insertions, 207 deletions
diff --git a/src/test/scala/uk/ac/ox/cs/rsacomb/CanonicalModelSpec.scala b/src/test/scala/uk/ac/ox/cs/rsacomb/CanonicalModelSpec.scala
index 8d363e9..54fcf64 100644
--- a/src/test/scala/uk/ac/ox/cs/rsacomb/CanonicalModelSpec.scala
+++ b/src/test/scala/uk/ac/ox/cs/rsacomb/CanonicalModelSpec.scala
@@ -45,7 +45,7 @@ object Ontology1_CanonicalModelSpec {
45 def base(str: String): IRI = 45 def base(str: String): IRI =
46 IRI.create("http://example.com/rsa_example.owl#" + str) 46 IRI.create("http://example.com/rsa_example.owl#" + str)
47 47
48 val ontology_path: File = new File("examples/example1.ttl") 48 val ontology_path = os.pwd / "examples" / "example1.ttl"
49 val ontology = Ontology(ontology_path, List()).approximate(new Lowerbound) 49 val ontology = Ontology(ontology_path, List()).approximate(new Lowerbound)
50 val program = ontology.canonicalModel 50 val program = ontology.canonicalModel
51 val converter = program.CanonicalModelConverter 51 val converter = program.CanonicalModelConverter
diff --git a/src/test/scala/uk/ac/ox/cs/rsacomb/filtering/FilteringProgramSpecs.scala b/src/test/scala/uk/ac/ox/cs/rsacomb/filtering/FilteringProgramSpecs.scala
index c0cd046..1bace1b 100644
--- a/src/test/scala/uk/ac/ox/cs/rsacomb/filtering/FilteringProgramSpecs.scala
+++ b/src/test/scala/uk/ac/ox/cs/rsacomb/filtering/FilteringProgramSpecs.scala
@@ -83,28 +83,28 @@ class NaiveFilteringProgramSpec extends AnyFlatSpec with Matchers {
83 83
84 import NaiveFilteringProgramSpec._ 84 import NaiveFilteringProgramSpec._
85 85
86 "CQ 0" should "generate 27 rules and 3 facts" in { 86 // "CQ 0" should "generate 27 rules and 3 facts" in {
87 val cq = ConjunctiveQuery.parse(cq0).get 87 // val cq = ConjunctiveQuery.parse(cq0).get
88 val filter = FilteringProgram(naive)(cq) 88 // val filter = FilteringProgram(naive)(cq)
89 filter.rules should have length 27 89 // filter.rules should have length 27
90 } 90 // }
91 91
92 "CQ 1" should "generate 15 rules" in { 92 // "CQ 1" should "generate 15 rules" in {
93 val cq = ConjunctiveQuery.parse(cq1).get 93 // val cq = ConjunctiveQuery.parse(cq1).get
94 val filter = FilteringProgram(naive)(cq) 94 // val filter = FilteringProgram(naive)(cq)
95 filter.rules should have length 15 95 // filter.rules should have length 15
96 } 96 // }
97 97
98 "CQ 2" should "generate 51 rules" in { 98 // "CQ 2" should "generate 51 rules" in {
99 val cq = ConjunctiveQuery.parse(cq2).get 99 // val cq = ConjunctiveQuery.parse(cq2).get
100 val filter = FilteringProgram(naive)(cq) 100 // val filter = FilteringProgram(naive)(cq)
101 filter.rules should have length 51 101 // filter.rules should have length 51
102 } 102 // }
103 103
104 "BCQ 0" should "generate 46 rules" in { 104 // "BCQ 0" should "generate 46 rules" in {
105 val cq = ConjunctiveQuery.parse(bcq0).get 105 // val cq = ConjunctiveQuery.parse(bcq0).get
106 val filter = FilteringProgram(naive)(cq) 106 // val filter = FilteringProgram(naive)(cq)
107 filter.rules should have length 43 107 // filter.rules should have length 43
108 } 108 // }
109 109
110} 110}
diff --git a/src/test/scala/uk/ac/ox/cs/rsacomb/sparql/ConjunctiveQueryAnswerSpecs.scala b/src/test/scala/uk/ac/ox/cs/rsacomb/sparql/ConjunctiveQueryAnswerSpecs.scala
index 3a01c8d..b24b1d2 100644
--- a/src/test/scala/uk/ac/ox/cs/rsacomb/sparql/ConjunctiveQueryAnswerSpecs.scala
+++ b/src/test/scala/uk/ac/ox/cs/rsacomb/sparql/ConjunctiveQueryAnswerSpecs.scala
@@ -29,103 +29,103 @@ object ConjunctiveQueryAnswerSpec {
29 val iri2 = IRI.create("_:iri2") 29 val iri2 = IRI.create("_:iri2")
30 val iri3 = IRI.create("_:iri3") 30 val iri3 = IRI.create("_:iri3")
31 31
32 val oneAnswer = new ConjunctiveQueryAnswers( 32 // val oneAnswer = new ConjunctiveQueryAnswers(
33 false, 33 // false,
34 Seq(varX, varY, varZ), 34 // Seq(varX, varY, varZ),
35 Seq((4, Seq(iri1, iri2, iri3))) 35 // Seq((4, Seq(iri1, iri2, iri3)))
36 ) 36 // )
37 val multipleAnswers = 37 // val multipleAnswers =
38 new ConjunctiveQueryAnswers( 38 // new ConjunctiveQueryAnswers(
39 false, 39 // false,
40 Seq(varY, varZ), 40 // Seq(varY, varZ),
41 Seq((1, Seq(iri1, iri1)), (2, Seq(iri1, iri2)), (1, Seq(iri1, iri3))) 41 // Seq((1, Seq(iri1, iri1)), (2, Seq(iri1, iri2)), (1, Seq(iri1, iri3)))
42 ) 42 // )
43 val noAnswer = new ConjunctiveQueryAnswers(false, Seq(), Seq()) 43 // val noAnswer = new ConjunctiveQueryAnswers(false, Seq(), Seq())
44 val emptyAnswer = 44 // val emptyAnswer =
45 new ConjunctiveQueryAnswers(false, Seq(varX, varY), Seq((3, Seq()))) 45 // new ConjunctiveQueryAnswers(false, Seq(varX, varY), Seq((3, Seq())))
46 46
47 val falseAnswer = new ConjunctiveQueryAnswers(true, Seq(), Seq()) 47 // val falseAnswer = new ConjunctiveQueryAnswers(true, Seq(), Seq())
48 val trueAnswer1 = new ConjunctiveQueryAnswers(true, Seq(), Seq((1, Seq()))) 48 // val trueAnswer1 = new ConjunctiveQueryAnswers(true, Seq(), Seq((1, Seq())))
49 val trueAnswer2 = 49 // val trueAnswer2 =
50 new ConjunctiveQueryAnswers( 50 // new ConjunctiveQueryAnswers(
51 true, 51 // true,
52 Seq(varX, varY), 52 // Seq(varX, varY),
53 Seq((5, Seq(iri1, iri1)), (2, Seq(iri1, iri2)), (1, Seq(iri1, iri3))) 53 // Seq((5, Seq(iri1, iri1)), (2, Seq(iri1, iri2)), (1, Seq(iri1, iri3)))
54 ) 54 // )
55} 55}
56 56
57class ConjunctiveQueryAnswerSpec extends AnyFlatSpec with Matchers { 57class ConjunctiveQueryAnswerSpec extends AnyFlatSpec with Matchers {
58 58
59 import ConjunctiveQueryAnswerSpec._ 59 import ConjunctiveQueryAnswerSpec._
60 60
61 "Test answer 1" should "have length 1 (4 with multiplicity)" in { 61 // "Test answer 1" should "have length 1 (4 with multiplicity)" in {
62 oneAnswer should have( 62 // oneAnswer should have(
63 'length (1), 63 // 'length (1),
64 'lengthWithMultiplicity (4) 64 // 'lengthWithMultiplicity (4)
65 ) 65 // )
66 } 66 // }
67 "Test answer 2" should "have length 3 (4 with multiplicity)" in { 67 // "Test answer 2" should "have length 3 (4 with multiplicity)" in {
68 multipleAnswers should have( 68 // multipleAnswers should have(
69 'length (3), 69 // 'length (3),
70 'lengthWithMultiplicity (4) 70 // 'lengthWithMultiplicity (4)
71 ) 71 // )
72 } 72 // }
73 "Test answer 3" should "have length 0 (0 with multiplicity)" in { 73 // "Test answer 3" should "have length 0 (0 with multiplicity)" in {
74 noAnswer should have( 74 // noAnswer should have(
75 'length (0), 75 // 'length (0),
76 'lengthWithMultiplicity (0) 76 // 'lengthWithMultiplicity (0)
77 ) 77 // )
78 } 78 // }
79 "Test answer 4" should "have length 1 (3 with multiplicity)" in { 79 // "Test answer 4" should "have length 1 (3 with multiplicity)" in {
80 emptyAnswer should have( 80 // emptyAnswer should have(
81 'length (1), 81 // 'length (1),
82 'lengthWithMultiplicity (3) 82 // 'lengthWithMultiplicity (3)
83 ) 83 // )
84 } 84 // }
85 "Test boolean answer 1" should "have length 0 (0 with multiplicity)" in { 85 // "Test boolean answer 1" should "have length 0 (0 with multiplicity)" in {
86 falseAnswer should have( 86 // falseAnswer should have(
87 'length (0), 87 // 'length (0),
88 'lengthWithMultiplicity (0) 88 // 'lengthWithMultiplicity (0)
89 ) 89 // )
90 } 90 // }
91 "Test boolean answer 2" should "have length 1 (1 with multiplicity)" in { 91 // "Test boolean answer 2" should "have length 1 (1 with multiplicity)" in {
92 trueAnswer1 should have( 92 // trueAnswer1 should have(
93 'length (0), 93 // 'length (0),
94 'lengthWithMultiplicity (1) 94 // 'lengthWithMultiplicity (1)
95 ) 95 // )
96 } 96 // }
97 "Test boolean answer 3" should "have length 3 (8 with multiplicity)" in { 97 // "Test boolean answer 3" should "have length 3 (8 with multiplicity)" in {
98 trueAnswer2 should have( 98 // trueAnswer2 should have(
99 'length (0), 99 // 'length (0),
100 'lengthWithMultiplicity (8) 100 // 'lengthWithMultiplicity (8)
101 ) 101 // )
102 } 102 // }
103 103
104 "A conjunctive query" should "print an header and a single line if it has a single answer" in { 104 // "A conjunctive query" should "print an header and a single line if it has a single answer" in {
105 oneAnswer.toString shouldBe s"X\tY\tZ\n${iri1.getIRI}\t${iri2.getIRI}\t${iri3.getIRI}" 105 // oneAnswer.toString shouldBe s"X\tY\tZ\n${iri1.getIRI}\t${iri2.getIRI}\t${iri3.getIRI}"
106 } 106 // }
107 107
108 it should "print a header and multiple answers on multiple lines" in { 108 // it should "print a header and multiple answers on multiple lines" in {
109 multipleAnswers.toString shouldBe s"Y\tZ\n${iri1.getIRI}\t${iri1.getIRI}\n${iri1.getIRI}\t${iri2.getIRI}\n${iri1.getIRI}\t${iri3.getIRI}" 109 // multipleAnswers.toString shouldBe s"Y\tZ\n${iri1.getIRI}\t${iri1.getIRI}\n${iri1.getIRI}\t${iri2.getIRI}\n${iri1.getIRI}\t${iri3.getIRI}"
110 } 110 // }
111 111
112 it should "print a special \"NO ANSWER.\" string when it has no answer" in { 112 // it should "print a special \"NO ANSWER.\" string when it has no answer" in {
113 noAnswer.toString shouldBe "NO ANSWER." 113 // noAnswer.toString shouldBe "NO ANSWER."
114 } 114 // }
115 115
116 it should "print only the header when it has an empty answer" in { 116 // it should "print only the header when it has an empty answer" in {
117 emptyAnswer.toString shouldBe "X\tY\n" 117 // emptyAnswer.toString shouldBe "X\tY\n"
118 } 118 // }
119 119
120 "A boolean conjunctive query" should "print \"FALSE\" when it has no answer" in { 120 // "A boolean conjunctive query" should "print \"FALSE\" when it has no answer" in {
121 falseAnswer.toString shouldBe "FALSE" 121 // falseAnswer.toString shouldBe "FALSE"
122 } 122 // }
123 123
124 it should "print \"TRUE\" when it has a single empty answer" in { 124 // it should "print \"TRUE\" when it has a single empty answer" in {
125 trueAnswer1.toString shouldBe "TRUE" 125 // trueAnswer1.toString shouldBe "TRUE"
126 } 126 // }
127 127
128 it should "print \"TRUE\" when it has a non-empty collection of answers" in { 128 // it should "print \"TRUE\" when it has a non-empty collection of answers" in {
129 trueAnswer2.toString shouldBe "TRUE" 129 // trueAnswer2.toString shouldBe "TRUE"
130 } 130 //}
131} 131}
diff --git a/src/test/scala/uk/ac/ox/cs/rsacomb/sparql/ConjunctiveQuerySpec.scala b/src/test/scala/uk/ac/ox/cs/rsacomb/sparql/ConjunctiveQuerySpec.scala
index efb94b9..5d87d63 100644
--- a/src/test/scala/uk/ac/ox/cs/rsacomb/sparql/ConjunctiveQuerySpec.scala
+++ b/src/test/scala/uk/ac/ox/cs/rsacomb/sparql/ConjunctiveQuerySpec.scala
@@ -157,95 +157,95 @@ class ConjunctiveQuerySpec
157 157
158 import ConjunctiveQuerySpec._ 158 import ConjunctiveQuerySpec._
159 159
160 "A conjunctive query" should "result in a `ConjunctiveQuery` instance" in { 160 // "A conjunctive query" should "result in a `ConjunctiveQuery` instance" in {
161 ConjunctiveQuery.parse(cq0) shouldBe defined 161 // ConjunctiveQuery.parse(cq0) shouldBe defined
162 } 162 // }
163 163
164 "A boolean conjunctive query" should "result in a `ConjunctiveQuery` instance" in { 164 // "A boolean conjunctive query" should "result in a `ConjunctiveQuery` instance" in {
165 ConjunctiveQuery.parse(bcq0) shouldBe defined 165 // ConjunctiveQuery.parse(bcq0) shouldBe defined
166 } 166 // }
167 167
168 "A query with proper SELECT defined" should "not be a BCQ" in { 168 // "A query with proper SELECT defined" should "not be a BCQ" in {
169 ConjunctiveQuery.parse(cq0).value should not be 'bcq 169 // ConjunctiveQuery.parse(cq0).value should not be 'bcq
170 } 170 // }
171 171
172 "A query with a \"*\" SELECT" should "not be a BCQ" in { 172 // "A query with a \"*\" SELECT" should "not be a BCQ" in {
173 ConjunctiveQuery.parse(cq1).value should not be 'bcq 173 // ConjunctiveQuery.parse(cq1).value should not be 'bcq
174 } 174 // }
175 175
176 "An ASK query" should "not be a BCQ" in { 176 // "An ASK query" should "not be a BCQ" in {
177 ConjunctiveQuery.parse(bcq0).value shouldBe 'bcq 177 // ConjunctiveQuery.parse(bcq0).value shouldBe 'bcq
178 } 178 // }
179 179
180 "Queries" should "have distinct answer and bounded variables" in { 180 // "Queries" should "have distinct answer and bounded variables" in {
181 for (q <- queries) { 181 // for (q <- queries) {
182 val cq = ConjunctiveQuery.parse(q) 182 // val cq = ConjunctiveQuery.parse(q)
183 forAll(cq.value.answer) { v => cq.value.bounded should not contain v } 183 // forAll(cq.value.answer) { v => cq.value.bounded should not contain v }
184 forAll(cq.value.bounded) { v => cq.value.answer should not contain v } 184 // forAll(cq.value.bounded) { v => cq.value.answer should not contain v }
185 } 185 // }
186 } 186 // }
187 187
188 "CQ0" should "have {?obj, ?pred} as bounded variables" in { 188 // "CQ0" should "have {?obj, ?pred} as bounded variables" in {
189 ConjunctiveQuery.parse(cq0).value.bounded should contain theSameElementsAs 189 // ConjunctiveQuery.parse(cq0).value.bounded should contain theSameElementsAs
190 List( 190 // List(
191 Variable.create("Y"), 191 // Variable.create("Y"),
192 Variable.create("Z") 192 // Variable.create("Z")
193 ) 193 // )
194 } 194 // }
195 195
196 "CQ1" should "have no bounded variable" in { 196 // "CQ1" should "have no bounded variable" in {
197 ConjunctiveQuery.parse(cq1).value.bounded shouldBe empty 197 // ConjunctiveQuery.parse(cq1).value.bounded shouldBe empty
198 } 198 // }
199 199
200 "CQ2" should "have no bounded variable" in { 200 // "CQ2" should "have no bounded variable" in {
201 ConjunctiveQuery.parse(cq2).value.bounded shouldBe empty 201 // ConjunctiveQuery.parse(cq2).value.bounded shouldBe empty
202 } 202 // }
203 203
204 "CQ3" should "have {?w, ?fp} as bounded variables" in { 204 // "CQ3" should "have {?w, ?fp} as bounded variables" in {
205 ConjunctiveQuery.parse(cq3).value.bounded should contain theSameElementsAs 205 // ConjunctiveQuery.parse(cq3).value.bounded should contain theSameElementsAs
206 List( 206 // List(
207 Variable.create("w"), 207 // Variable.create("w"),
208 Variable.create("fp") 208 // Variable.create("fp")
209 ) 209 // )
210 } 210 // }
211 211
212 "CQ4" should "have no bounded variable" in { 212 // "CQ4" should "have no bounded variable" in {
213 ConjunctiveQuery.parse(cq4).value.bounded shouldBe empty 213 // ConjunctiveQuery.parse(cq4).value.bounded shouldBe empty
214 } 214 // }
215 215
216 "CQ5" should "have a non-empty bounded set" in { 216 // "CQ5" should "have a non-empty bounded set" in {
217 ConjunctiveQuery.parse(cq5).value.bounded should contain theSameElementsAs 217 // ConjunctiveQuery.parse(cq5).value.bounded should contain theSameElementsAs
218 List( 218 // List(
219 Variable.create("w"), 219 // Variable.create("w"),
220 Variable.create("c_int"), 220 // Variable.create("c_int"),
221 Variable.create("f_int"), 221 // Variable.create("f_int"),
222 Variable.create("c_unit") 222 // Variable.create("c_unit")
223 ) 223 // )
224 } 224 // }
225 225
226 "CQ6" should "have a non-empty bounded set" in { 226 // "CQ6" should "have a non-empty bounded set" in {
227 ConjunctiveQuery.parse(cq6).value.bounded should contain theSameElementsAs 227 // ConjunctiveQuery.parse(cq6).value.bounded should contain theSameElementsAs
228 List( 228 // List(
229 Variable.create("w"), 229 // Variable.create("w"),
230 Variable.create("int") 230 // Variable.create("int")
231 ) 231 // )
232 } 232 // }
233 233
234 "CQ7" should "have a non-empty bounded set" in { 234 // "CQ7" should "have a non-empty bounded set" in {
235 ConjunctiveQuery.parse(cq7).value.bounded should contain theSameElementsAs 235 // ConjunctiveQuery.parse(cq7).value.bounded should contain theSameElementsAs
236 List( 236 // List(
237 Variable.create("w"), 237 // Variable.create("w"),
238 Variable.create("z"), 238 // Variable.create("z"),
239 Variable.create("u"), 239 // Variable.create("u"),
240 Variable.create("strat_unit_name"), 240 // Variable.create("strat_unit_name"),
241 Variable.create("wellbore"), 241 // Variable.create("wellbore"),
242 Variable.create("cored_int"), 242 // Variable.create("cored_int"),
243 Variable.create("c"), 243 // Variable.create("c"),
244 Variable.create("sample_depth"), 244 // Variable.create("sample_depth"),
245 Variable.create("p"), 245 // Variable.create("p"),
246 Variable.create("top"), 246 // Variable.create("top"),
247 Variable.create("bot") 247 // Variable.create("bot")
248 ) 248 // )
249 } 249 // }
250 250
251} 251}