aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/uk/ac/ox/cs/pagoda/query
diff options
context:
space:
mode:
authorFederico Igne <federico.igne@cs.ox.ac.uk>2022-05-10 18:17:06 +0100
committerFederico Igne <federico.igne@cs.ox.ac.uk>2022-05-11 12:34:47 +0100
commit17bd9beaf7f358a44e5bf36a5855fe6727d506dc (patch)
tree47e9310a0cff869d9ec017dcb2c81876407782c8 /src/test/java/uk/ac/ox/cs/pagoda/query
parent8651164cd632a5db310b457ce32d4fbc97bdc41c (diff)
downloadACQuA-17bd9beaf7f358a44e5bf36a5855fe6727d506dc.tar.gz
ACQuA-17bd9beaf7f358a44e5bf36a5855fe6727d506dc.zip
[pagoda] Move project to Scala
This commit includes a few changes: - The repository still uses Maven to manage dependency but it is now a Scala project. - The code has been ported from OWLAPI 3.4.10 to 5.1.20 - A proof of concept program using both RSAComb and PAGOdA has been added.
Diffstat (limited to 'src/test/java/uk/ac/ox/cs/pagoda/query')
-rw-r--r--src/test/java/uk/ac/ox/cs/pagoda/query/CheckAnswers.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/test/java/uk/ac/ox/cs/pagoda/query/CheckAnswers.java b/src/test/java/uk/ac/ox/cs/pagoda/query/CheckAnswers.java
new file mode 100644
index 0000000..71730c3
--- /dev/null
+++ b/src/test/java/uk/ac/ox/cs/pagoda/query/CheckAnswers.java
@@ -0,0 +1,51 @@
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>>() {}.getType();
29 Set<QueryRecord> computedAnswersRecords = gson.fromJson(computedReader, cqType);
30 Set<QueryRecord> givenAnswersRecords = gson.fromJson(givenReader, cqType);
31
32 for(QueryRecord computedAnswersRecord : computedAnswersRecords) {
33 Set<AnswerTuple> givenAnswers = null;
34 for(QueryRecord givenAnswersRecord : givenAnswersRecords) {
35 if(givenAnswersRecord.queryID == computedAnswersRecord.queryID) {
36 givenAnswers = givenAnswersRecord.soundAnswerTuples;
37 break;
38 }
39 }
40
41 Assert.assertNotNull(givenAnswers, "Missing given answer for query no. " + computedAnswersRecord.queryID);
42
43 Set<AnswerTuple> computedAnswers = computedAnswersRecord.soundAnswerTuples;
44 Assert.assertEquals(computedAnswers.size(), givenAnswers.size(),
45 "Different number of sound answers for query " + computedAnswersRecord.queryID + "!"
46 + "Expected " + givenAnswers.size() + ", got " + computedAnswers.size());
47 Assert.assertEquals(computedAnswers, givenAnswers,
48 "Different sound answers for query " + computedAnswersRecord.queryID + "!");
49 }
50 }
51}