aboutsummaryrefslogtreecommitdiff
path: root/test/uk/ac/ox/cs/pagoda/global_tests/CheckAnswers.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/uk/ac/ox/cs/pagoda/global_tests/CheckAnswers.java')
-rw-r--r--test/uk/ac/ox/cs/pagoda/global_tests/CheckAnswers.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/uk/ac/ox/cs/pagoda/global_tests/CheckAnswers.java b/test/uk/ac/ox/cs/pagoda/global_tests/CheckAnswers.java
new file mode 100644
index 0000000..14050ce
--- /dev/null
+++ b/test/uk/ac/ox/cs/pagoda/global_tests/CheckAnswers.java
@@ -0,0 +1,35 @@
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}