aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRncLsn <rnc.lsn@gmail.com>2015-05-28 19:14:03 +0100
committerRncLsn <rnc.lsn@gmail.com>2015-05-28 19:14:03 +0100
commitb8212705e65db860bbb899b16fa0e7bc9e8536cf (patch)
tree7343b7349904717a4b99840f44e802e401650044 /test
parent1055e67727b1aca80ae7ffaceabce3aacb00b6d2 (diff)
downloadACQuA-b8212705e65db860bbb899b16fa0e7bc9e8536cf.tar.gz
ACQuA-b8212705e65db860bbb899b16fa0e7bc9e8536cf.zip
Bug-fix in tester.
Diffstat (limited to 'test')
-rw-r--r--test/resources/LightTests.xml4
-rw-r--r--test/uk/ac/ox/cs/pagoda/global_tests/CheckAnswers.java35
-rw-r--r--test/uk/ac/ox/cs/pagoda/global_tests/TestGapMappedToLower.java (renamed from test/uk/ac/ox/cs/pagoda/junit/TestGapMappedToLower.java)15
-rw-r--r--test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaFLY.java1
-rw-r--r--test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaLUBM.java1
-rw-r--r--test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaUOBM.java1
-rw-r--r--test/uk/ac/ox/cs/pagoda/query/CheckAnswers.java53
7 files changed, 61 insertions, 49 deletions
diff --git a/test/resources/LightTests.xml b/test/resources/LightTests.xml
index a30c436..bd0ea93 100644
--- a/test/resources/LightTests.xml
+++ b/test/resources/LightTests.xml
@@ -11,8 +11,8 @@
11 11
12 <classes> 12 <classes>
13 <class name="uk.ac.ox.cs.pagoda.global_tests.TestPagodaUOBM"/> 13 <class name="uk.ac.ox.cs.pagoda.global_tests.TestPagodaUOBM"/>
14 <!--<class name="uk.ac.ox.cs.pagoda.global_tests.TestPagodaLUBM"/>--> 14 <class name="uk.ac.ox.cs.pagoda.global_tests.TestPagodaLUBM"/>
15 <!--<class name="uk.ac.ox.cs.pagoda.global_tests.TestPagodaFLY"/>--> 15 <class name="uk.ac.ox.cs.pagoda.global_tests.TestPagodaFLY"/>
16 </classes> 16 </classes>
17 </test> 17 </test>
18</suite> \ No newline at end of file 18</suite> \ No newline at end of file
diff --git a/test/uk/ac/ox/cs/pagoda/global_tests/CheckAnswers.java b/test/uk/ac/ox/cs/pagoda/global_tests/CheckAnswers.java
deleted file mode 100644
index 14050ce..0000000
--- a/test/uk/ac/ox/cs/pagoda/global_tests/CheckAnswers.java
+++ /dev/null
@@ -1,35 +0,0 @@
1package uk.ac.ox.cs.pagoda.global_tests;
2
3import com.google.gson.Gson;
4import com.google.gson.reflect.TypeToken;
5import org.testng.Assert;
6import uk.ac.ox.cs.pagoda.query.QueryRecord;
7
8import java.io.BufferedReader;
9import java.io.IOException;
10import java.lang.reflect.Type;
11import java.nio.file.Files;
12import java.nio.file.Path;
13import java.util.Set;
14
15/**
16 * It provides auxiliary methods for checking answers.
17 * */
18public class CheckAnswers {
19
20 private CheckAnswers() {
21 }
22
23 public static void assertSameAnswers(Path computedAnswersFile, Path givenAnswersFile) throws IOException {
24 BufferedReader computedReader = Files.newBufferedReader(computedAnswersFile);
25 BufferedReader givenReader = Files.newBufferedReader(givenAnswersFile);
26
27 Gson gson = QueryRecord.GsonCreator.getInstance();
28
29 Type cqType = new TypeToken<Set<QueryRecord>>() {}.getType();
30 Set<QueryRecord> computedAnswers = gson.fromJson(computedReader, cqType);
31 Set<QueryRecord> givenAnswers = gson.fromJson(givenReader, cqType);
32
33 Assert.assertEquals(computedAnswers, givenAnswers);
34 }
35}
diff --git a/test/uk/ac/ox/cs/pagoda/junit/TestGapMappedToLower.java b/test/uk/ac/ox/cs/pagoda/global_tests/TestGapMappedToLower.java
index 3e385e5..4b1ec6d 100644
--- a/test/uk/ac/ox/cs/pagoda/junit/TestGapMappedToLower.java
+++ b/test/uk/ac/ox/cs/pagoda/global_tests/TestGapMappedToLower.java
@@ -1,18 +1,9 @@
1package uk.ac.ox.cs.pagoda.junit; 1package uk.ac.ox.cs.pagoda.global_tests;
2 2
3import junit.framework.Assert; 3import junit.framework.Assert;
4
5import org.junit.Test;
6import org.semanticweb.owlapi.apibinding.OWLManager; 4import org.semanticweb.owlapi.apibinding.OWLManager;
7import org.semanticweb.owlapi.model.IRI; 5import org.semanticweb.owlapi.model.*;
8import org.semanticweb.owlapi.model.OWLClass; 6import org.testng.annotations.Test;
9import org.semanticweb.owlapi.model.OWLDataFactory;
10import org.semanticweb.owlapi.model.OWLNamedIndividual;
11import org.semanticweb.owlapi.model.OWLObjectProperty;
12import org.semanticweb.owlapi.model.OWLOntology;
13import org.semanticweb.owlapi.model.OWLOntologyCreationException;
14import org.semanticweb.owlapi.model.OWLOntologyManager;
15
16import uk.ac.ox.cs.pagoda.query.AnswerTuple; 7import uk.ac.ox.cs.pagoda.query.AnswerTuple;
17import uk.ac.ox.cs.pagoda.query.AnswerTuples; 8import uk.ac.ox.cs.pagoda.query.AnswerTuples;
18import uk.ac.ox.cs.pagoda.reasoner.QueryReasoner; 9import uk.ac.ox.cs.pagoda.reasoner.QueryReasoner;
diff --git a/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaFLY.java b/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaFLY.java
index d8d2b76..352bcba 100644
--- a/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaFLY.java
+++ b/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaFLY.java
@@ -2,6 +2,7 @@ package uk.ac.ox.cs.pagoda.global_tests;
2 2
3import org.testng.annotations.Test; 3import org.testng.annotations.Test;
4import uk.ac.ox.cs.pagoda.Pagoda; 4import uk.ac.ox.cs.pagoda.Pagoda;
5import uk.ac.ox.cs.pagoda.query.CheckAnswers;
5import uk.ac.ox.cs.pagoda.util.TestUtil; 6import uk.ac.ox.cs.pagoda.util.TestUtil;
6 7
7import java.io.File; 8import java.io.File;
diff --git a/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaLUBM.java b/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaLUBM.java
index d261d84..1db4a43 100644
--- a/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaLUBM.java
+++ b/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaLUBM.java
@@ -2,6 +2,7 @@ package uk.ac.ox.cs.pagoda.global_tests;
2 2
3import org.testng.annotations.Test; 3import org.testng.annotations.Test;
4import uk.ac.ox.cs.pagoda.Pagoda; 4import uk.ac.ox.cs.pagoda.Pagoda;
5import uk.ac.ox.cs.pagoda.query.CheckAnswers;
5import uk.ac.ox.cs.pagoda.util.TestUtil; 6import uk.ac.ox.cs.pagoda.util.TestUtil;
6 7
7import java.io.File; 8import java.io.File;
diff --git a/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaUOBM.java b/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaUOBM.java
index 558ac1f..4f49fe0 100644
--- a/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaUOBM.java
+++ b/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaUOBM.java
@@ -3,6 +3,7 @@ package uk.ac.ox.cs.pagoda.global_tests;
3import org.testng.annotations.DataProvider; 3import org.testng.annotations.DataProvider;
4import org.testng.annotations.Test; 4import org.testng.annotations.Test;
5import uk.ac.ox.cs.pagoda.Pagoda; 5import uk.ac.ox.cs.pagoda.Pagoda;
6import uk.ac.ox.cs.pagoda.query.CheckAnswers;
6import uk.ac.ox.cs.pagoda.util.TestUtil; 7import uk.ac.ox.cs.pagoda.util.TestUtil;
7 8
8import java.io.File; 9import java.io.File;
diff --git a/test/uk/ac/ox/cs/pagoda/query/CheckAnswers.java b/test/uk/ac/ox/cs/pagoda/query/CheckAnswers.java
new file mode 100644
index 0000000..f16d657
--- /dev/null
+++ b/test/uk/ac/ox/cs/pagoda/query/CheckAnswers.java
@@ -0,0 +1,53 @@
1package uk.ac.ox.cs.pagoda.query;
2
3import com.google.gson.Gson;
4import com.google.gson.reflect.TypeToken;
5import org.testng.Assert;
6
7import java.io.BufferedReader;
8import java.io.IOException;
9import java.lang.reflect.Type;
10import java.nio.file.Files;
11import java.nio.file.Path;
12import java.util.Set;
13
14/**
15 * It provides auxiliary methods for checking answers.
16 */
17public class CheckAnswers {
18
19 private CheckAnswers() {
20 }
21
22 public static void assertSameAnswers(Path computedAnswersFile, Path givenAnswersFile) throws IOException {
23 BufferedReader computedReader = Files.newBufferedReader(computedAnswersFile);
24 BufferedReader givenReader = Files.newBufferedReader(givenAnswersFile);
25
26 Gson gson = QueryRecord.GsonCreator.getInstance();
27
28 Type cqType = new TypeToken<Set<QueryRecord>>() {
29 }.getType();
30 Set<QueryRecord> computedAnswersRecords = gson.fromJson(computedReader, cqType);
31 Set<QueryRecord> givenAnswersRecords = gson.fromJson(givenReader, cqType);
32
33 for(QueryRecord computedAnswersRecord : computedAnswersRecords) {
34 if(computedAnswersRecord.queryID == 8) continue; // DEBUG
35 Set<AnswerTuple> givenAnswers = null;
36 for(QueryRecord givenAnswersRecord : givenAnswersRecords) {
37 if(givenAnswersRecord.queryID == computedAnswersRecord.queryID) {
38 givenAnswers = givenAnswersRecord.soundAnswerTuples;
39 break;
40 }
41 }
42
43 Assert.assertNotNull(givenAnswers, "Missing given answer for query no. " + computedAnswersRecord.queryID);
44
45 Set<AnswerTuple> computedAnswers = computedAnswersRecord.soundAnswerTuples;
46 Assert.assertEquals(computedAnswers.size(), givenAnswers.size(),
47 "Different number sound answers for query " + computedAnswersRecord.queryID + "!"
48 + "Expected " + givenAnswers.size() + ", got " + computedAnswers.size());
49 Assert.assertEquals(computedAnswers, givenAnswers,
50 "Different sound answers for query " + computedAnswersRecord.queryID + "!");
51 }
52 }
53}