diff --git a/pom.xml b/pom.xml
index 7bf8785..e1bef99 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,18 +50,24 @@
test
-
+
org.junit.jupiter
junit-jupiter-engine
5.6.2
test
- org.junit.vintage
- junit-vintage-engine
+ org.junit.jupiter
+ junit-jupiter-api
5.6.2
test
+
+ org.junit.jupiter
+ junit-jupiter-params
+ 5.6.2
+ test
+
org.apache.jena
@@ -91,7 +97,6 @@
maven-surefire-plugin
3.0.0-M5
-
maven-jar-plugin
diff --git a/src/test/java/com/KRacR/s2c/SparqlToCypherTest.java b/src/test/java/com/KRacR/s2c/SparqlToCypherTest.java
index 8d6a07b..85806b3 100644
--- a/src/test/java/com/KRacR/s2c/SparqlToCypherTest.java
+++ b/src/test/java/com/KRacR/s2c/SparqlToCypherTest.java
@@ -1,9 +1,10 @@
package com.KRacR.s2c;
//package test.java.com.KRacR.s2c;
-//import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+//import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
@@ -22,7 +23,11 @@
import org.apache.jena.query.ResultSet;
import org.apache.jena.rdf.model.Model;
import org.apache.jena.riot.RDFDataMgr;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
import org.neo4j.graphdb.Result;
import org.neo4j.graphdb.Transaction;
import org.neo4j.harness.Neo4j;
@@ -31,9 +36,22 @@
/**
* Unit test for Sparql to Cypher
*/
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class SparqlToCypherTest{
private Neo4j embeddedDatabaseServer;
- private void run_TTL_Automated_Test(String folder){
+
+ @ParameterizedTest
+ @ValueSource(
+ strings = {
+ "./src/test/resources/ttl_automated_tests/w3c_test4",
+ "./src/test/resources/ttl_automated_tests/w3c_test2",
+ "./src/test/resources/ttl_automated_tests/test1",
+ "./src/test/resources/ttl_automated_tests/w3c_test3",
+ "./src/test/resources/ttl_automated_tests/w3c_test1",
+ "./src/test/resources/ttl_automated_tests/w3c_test5"
+ }
+ )
+ public void test_run_TTL_Automated_Test(String folder){
Path rdf_path = Paths.get(folder, "rdf.ttl");
// Convert the RDF to PG, it is saved under $folder/Output.json
@@ -93,8 +111,12 @@ public boolean accept(File file) {
cypher_result.add(res);
}
}catch(Exception e) {
- System.out.println("Running the returned Cypher query FAILED with exception:");
- System.out.println(e.getMessage());
+ fail(
+ "Running the returned Cypher query FAILED with exception:\n"
+ + e.getMessage()
+ + "\nSparql query:\n" + sparql_query
+ + "\n\nConverter Cypher:\n" + cypher_query
+ );
}
// Execute the sparql query on the database
@@ -110,23 +132,11 @@ public boolean accept(File file) {
}
sparql_result.add(res);
}
- // System.out.println(sparql_result);
- // System.out.println(cypher_result);
-
- if(sparql_result.equals(cypher_result)){
- System.out.println("\nTEST PASSED\n");
- }else {
- System.out.println("\nTEST FAILED\n");
- System.out.println("-------Sparql-------");
- System.out.println(sparql_result);
- System.out.println("-------Cypher-------");
- System.out.println(cypher_result);
- }
// TODO: Account for ORDER BY queries
// TODO: Account for BLANK nodes
// TODO: Match all column names in both the result sets
- // assertEquals(String.format("Equality test failed for %s/queries/%s", folder, query_file.getName()), sparql_result, cypher_result);
+ assertEquals(sparql_result, cypher_result, String.format("Equality test failed for %s/queries/%s", folder, query_file.getName()));
}
}
@@ -147,34 +157,16 @@ private void RDF_to_PG_PG_Bench(Path rdf_path, String folder) {
}
}
- @Test
- public void All_TTL_Automated_Test() throws IOException{
- // Code for iterating over all directories:
- // Source: http://www.avajava.com/tutorials/lessons/how-do-i-use-a-filefilter-to-display-only-the-directories-within-a-directory.html
- File f = new File("src/test/resources/ttl_automated_tests"); // current directory
-
- FileFilter directoryFilter = new FileFilter() {
- public boolean accept(File file) {
- return file.isDirectory();
- }
- };
-
- File[] files = f.listFiles(directoryFilter);
- setupNeo4jServer();
- for (File folder : files) {
- delete_all_from_neo4j();
- run_TTL_Automated_Test(folder.getCanonicalPath());
- }
- }
-
- private void delete_all_from_neo4j() {
+ @BeforeEach
+ public void delete_all_from_neo4j() {
try(Transaction tx = embeddedDatabaseServer.databaseManagementService().database("neo4j").beginTx()) {
tx.execute("MATCH (n) detach delete n;");
tx.commit();
}
}
- private void setupNeo4jServer() {
+ @BeforeAll
+ public void setupNeo4jServer() {
embeddedDatabaseServer = Neo4jBuilders.newInProcessBuilder().withDisabledServer().build();
}
}