From 17bd9beaf7f358a44e5bf36a5855fe6727d506dc Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Tue, 10 May 2022 18:17:06 +0100 Subject: [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. --- .../uk/ac/ox/cs/pagoda/query/CheckAnswers.java | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/test/java/uk/ac/ox/cs/pagoda/query/CheckAnswers.java (limited to 'src/test/java/uk/ac/ox/cs/pagoda/query') 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 @@ +package uk.ac.ox.cs.pagoda.query; + +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; +import org.testng.Assert; + +import java.io.BufferedReader; +import java.io.IOException; +import java.lang.reflect.Type; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Set; + +/** + * It provides auxiliary methods for checking answers. + */ +public class CheckAnswers { + + private CheckAnswers() { + } + + public static void assertSameAnswers(Path computedAnswersFile, Path givenAnswersFile) throws IOException { + BufferedReader computedReader = Files.newBufferedReader(computedAnswersFile); + BufferedReader givenReader = Files.newBufferedReader(givenAnswersFile); + + Gson gson = QueryRecord.GsonCreator.getInstance(); + + Type cqType = new TypeToken>() {}.getType(); + Set computedAnswersRecords = gson.fromJson(computedReader, cqType); + Set givenAnswersRecords = gson.fromJson(givenReader, cqType); + + for(QueryRecord computedAnswersRecord : computedAnswersRecords) { + Set givenAnswers = null; + for(QueryRecord givenAnswersRecord : givenAnswersRecords) { + if(givenAnswersRecord.queryID == computedAnswersRecord.queryID) { + givenAnswers = givenAnswersRecord.soundAnswerTuples; + break; + } + } + + Assert.assertNotNull(givenAnswers, "Missing given answer for query no. " + computedAnswersRecord.queryID); + + Set computedAnswers = computedAnswersRecord.soundAnswerTuples; + Assert.assertEquals(computedAnswers.size(), givenAnswers.size(), + "Different number of sound answers for query " + computedAnswersRecord.queryID + "!" + + "Expected " + givenAnswers.size() + ", got " + computedAnswers.size()); + Assert.assertEquals(computedAnswers, givenAnswers, + "Different sound answers for query " + computedAnswersRecord.queryID + "!"); + } + } +} -- cgit v1.2.3