aboutsummaryrefslogtreecommitdiff
path: root/test/uk/ac/ox/cs/pagoda/test_units
diff options
context:
space:
mode:
authorRncLsn <rnc.lsn@gmail.com>2015-05-09 14:26:28 +0100
committerRncLsn <rnc.lsn@gmail.com>2015-05-09 14:26:28 +0100
commit870eb35e38f746ed73f233070dcf3bdaf4687e02 (patch)
tree41ef0c1e18057aedc9f0f94d242cf6450d22025f /test/uk/ac/ox/cs/pagoda/test_units
parent5be5fd3daa0d50980fb3791e904e035cdbca254f (diff)
downloadACQuA-870eb35e38f746ed73f233070dcf3bdaf4687e02.tar.gz
ACQuA-870eb35e38f746ed73f233070dcf3bdaf4687e02.zip
Adding (not completed) log of partial answers in Json.
Diffstat (limited to 'test/uk/ac/ox/cs/pagoda/test_units')
-rw-r--r--test/uk/ac/ox/cs/pagoda/test_units/PagodaLUBM.java2
-rw-r--r--test/uk/ac/ox/cs/pagoda/test_units/PagodaUOBM.java2
-rw-r--r--test/uk/ac/ox/cs/pagoda/test_units/TestGlobalCorrectness.java27
3 files changed, 14 insertions, 17 deletions
diff --git a/test/uk/ac/ox/cs/pagoda/test_units/PagodaLUBM.java b/test/uk/ac/ox/cs/pagoda/test_units/PagodaLUBM.java
index 29abc87..1aded5b 100644
--- a/test/uk/ac/ox/cs/pagoda/test_units/PagodaLUBM.java
+++ b/test/uk/ac/ox/cs/pagoda/test_units/PagodaLUBM.java
@@ -13,7 +13,7 @@ public class PagodaLUBM {
13 TestGlobalCorrectness.test(Paths.get(ontoDir, "lubm/univ-bench.owl"), 13 TestGlobalCorrectness.test(Paths.get(ontoDir, "lubm/univ-bench.owl"),
14 Paths.get(ontoDir, "lubm/data/lubm" + number + ".ttl"), 14 Paths.get(ontoDir, "lubm/data/lubm" + number + ".ttl"),
15 Paths.get(ontoDir, "lubm/queries/test.sparql"), 15 Paths.get(ontoDir, "lubm/queries/test.sparql"),
16 Paths.get(ontoDir, "lubm/lubm" + number + ".ans")); 16 Paths.get(ontoDir, "lubm/lubm" + number + ".json"));
17 } 17 }
18 18
19 @Test 19 @Test
diff --git a/test/uk/ac/ox/cs/pagoda/test_units/PagodaUOBM.java b/test/uk/ac/ox/cs/pagoda/test_units/PagodaUOBM.java
index f53ed7e..ee9cf13 100644
--- a/test/uk/ac/ox/cs/pagoda/test_units/PagodaUOBM.java
+++ b/test/uk/ac/ox/cs/pagoda/test_units/PagodaUOBM.java
@@ -13,7 +13,7 @@ public class PagodaUOBM {
13 TestGlobalCorrectness.test(Paths.get(ontoDir, "uobm/univ-bench-dl.owl"), 13 TestGlobalCorrectness.test(Paths.get(ontoDir, "uobm/univ-bench-dl.owl"),
14 Paths.get(ontoDir, "uobm/data/uobm" + number + ".ttl"), 14 Paths.get(ontoDir, "uobm/data/uobm" + number + ".ttl"),
15 Paths.get(ontoDir, "uobm/queries/test.sparql"), 15 Paths.get(ontoDir, "uobm/queries/test.sparql"),
16 Paths.get(ontoDir, "uobm/uobm" + number + ".ans")); 16 Paths.get(ontoDir, "uobm/uobm" + number + ".json"));
17 } 17 }
18 18
19 @Test 19 @Test
diff --git a/test/uk/ac/ox/cs/pagoda/test_units/TestGlobalCorrectness.java b/test/uk/ac/ox/cs/pagoda/test_units/TestGlobalCorrectness.java
index 34ec8cd..ffaf8fc 100644
--- a/test/uk/ac/ox/cs/pagoda/test_units/TestGlobalCorrectness.java
+++ b/test/uk/ac/ox/cs/pagoda/test_units/TestGlobalCorrectness.java
@@ -1,13 +1,12 @@
1package uk.ac.ox.cs.pagoda.test_units; 1package uk.ac.ox.cs.pagoda.test_units;
2 2
3import com.google.gson.Gson; 3import com.google.gson.Gson;
4import com.google.gson.GsonBuilder;
5import com.google.gson.reflect.TypeToken; 4import com.google.gson.reflect.TypeToken;
6import org.apache.log4j.Logger; 5import org.apache.log4j.Level;
7import org.testng.Assert; 6import org.testng.Assert;
8import uk.ac.ox.cs.pagoda.query.AnswerTuple;
9import uk.ac.ox.cs.pagoda.query.QueryRecord; 7import uk.ac.ox.cs.pagoda.query.QueryRecord;
10import uk.ac.ox.cs.pagoda.tester.PagodaTester; 8import uk.ac.ox.cs.pagoda.tester.PagodaTester;
9import uk.ac.ox.cs.pagoda.util.Utility;
11 10
12import java.io.BufferedReader; 11import java.io.BufferedReader;
13import java.io.File; 12import java.io.File;
@@ -16,39 +15,37 @@ import java.lang.reflect.Type;
16import java.nio.file.Files; 15import java.nio.file.Files;
17import java.nio.file.Path; 16import java.nio.file.Path;
18import java.nio.file.Paths; 17import java.nio.file.Paths;
19import java.util.Collection;
20import java.util.Set; 18import java.util.Set;
21 19
22/* 20/**
23 * This is a unit test for TestNG. 21 * This is a unit test for TestNG.
24 * <p> 22 * <p>
25 * It tests the correctness on the final output. 23 * It tests the correctness on the final output.
26 * */ 24 * */
27public class TestGlobalCorrectness { 25public class TestGlobalCorrectness {
28 26
29 public static final Logger logger = Logger.getLogger(TestGlobalCorrectness.class);
30
31 public static void test(Path ontology, Path data, Path queries, Path givenAnswers) { 27 public static void test(Path ontology, Path data, Path queries, Path givenAnswers) {
32 try { 28 try {
33 Path computedAnswers = Paths.get(File.createTempFile("answers", ".tmp").getAbsolutePath()); 29 Utility.setLogLevel(Level.DEBUG);
30 Path computedAnswers = Paths.get(File.createTempFile("answers", ".json").getAbsolutePath());
34 PagodaTester.main(ontology.toString(), data.toString(), queries.toString(), computedAnswers.toString()); 31 PagodaTester.main(ontology.toString(), data.toString(), queries.toString(), computedAnswers.toString());
35 Assert.assertTrue(checkSameContent(computedAnswers, givenAnswers)); 32 assertSameContent(computedAnswers, givenAnswers);
36 } catch (IOException e) { 33 } catch (IOException e) {
37 e.printStackTrace(); 34 e.printStackTrace();
38 } 35 }
39 } 36 }
40 37
41 private static boolean checkSameContent(Path computedAnswersFile, Path givenAnswersFile) throws IOException { 38 private static void assertSameContent(Path computedAnswersFile, Path givenAnswersFile) throws IOException {
42 BufferedReader computedReader = Files.newBufferedReader(computedAnswersFile); 39 BufferedReader computedReader = Files.newBufferedReader(computedAnswersFile);
43 BufferedReader givenReader = Files.newBufferedReader(givenAnswersFile); 40 BufferedReader givenReader = Files.newBufferedReader(givenAnswersFile);
44 41
45 Gson gson = new GsonBuilder().create(); 42 Gson gson = QueryRecord.GsonCreator.getInstance();
46 43
47 Type cqType = new TypeToken<Set<AnswerTuple>>() {}.getType(); 44 Type cqType = new TypeToken<Set<QueryRecord>>() {}.getType();
48 Collection<QueryRecord> computedAnswers = gson.fromJson(computedReader, cqType); 45 Set<QueryRecord> computedAnswers = gson.fromJson(computedReader, cqType);
49 Collection<QueryRecord> givenAnswers = gson.fromJson(givenReader, cqType); 46 Set<QueryRecord> givenAnswers = gson.fromJson(givenReader, cqType);
50 47
51 return computedAnswers.equals(givenAnswers); 48 Assert.assertEquals(computedAnswers, givenAnswers);
52 } 49 }
53 50
54 51