You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by rv...@apache.org on 2014/05/22 16:13:40 UTC
svn commit: r1596879 -
/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
Author: rvesse
Date: Thu May 22 14:13:39 2014
New Revision: 1596879
URL: http://svn.apache.org/r1596879
Log:
Expand tests for JSON-LD to include namespace round tripping verification
Modified:
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java?rev=1596879&r1=1596878&r2=1596879&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java Thu May 22 14:13:39 2014
@@ -22,9 +22,12 @@ import static org.apache.jena.riot.RDFLa
import java.io.ByteArrayInputStream ;
import java.io.ByteArrayOutputStream ;
+import java.util.Iterator;
+import java.util.Map;
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.riot.RDFDataMgr ;
+import org.junit.Assert;
import org.junit.Test ;
import com.hp.hpl.jena.query.Dataset ;
@@ -80,6 +83,10 @@ public class TestJsonLDReadWrite extends
RDFDataMgr.write(out, model, JSONLD) ;
ByteArrayInputStream r = new ByteArrayInputStream(out.toByteArray()) ;
+// System.out.println();
+// System.out.println(new String(out.toByteArray()));
+// System.out.println();
+
// Read as JSON-LD
Model model2 = ModelFactory.createDefaultModel() ;
RDFDataMgr.read(model2, r, null, JSONLD) ;
@@ -87,6 +94,11 @@ public class TestJsonLDReadWrite extends
// Compare
if ( ! model.isIsomorphicWith(model2) )
System.out.println("## ---- DIFFERENT") ;
+
+ assertTrue(model.isIsomorphicWith(model2));
+
+ // Check namespaces in parsed graph match the original data
+ checkNamespaces(model2, model.getNsPrefixMap());
}
static void rtRJRds(String filename)
@@ -99,6 +111,10 @@ public class TestJsonLDReadWrite extends
RDFDataMgr.write(out, ds1, JSONLD) ;
ByteArrayInputStream r = new ByteArrayInputStream(out.toByteArray()) ;
+// System.out.println();
+// System.out.println(new String(out.toByteArray()));
+// System.out.println();
+
// Read as JSON-LD
Dataset ds2 = DatasetFactory.createMem() ;
RDFDataMgr.read(ds2, r, null, JSONLD) ;
@@ -110,12 +126,28 @@ public class TestJsonLDReadWrite extends
}
assertTrue(isIsomorphic(ds1, ds2) ) ;
+
+ // Check namespaces in the parsed dataset match those in the original data
+ checkNamespaces(ds2.getDefaultModel(), ds1.getDefaultModel().getNsPrefixMap());
+ Iterator<String> graphNames = ds2.listNames();
+ while (graphNames.hasNext()) {
+ String gn = graphNames.next();
+ checkNamespaces(ds2.getNamedModel(gn), ds1.getNamedModel(gn).getNsPrefixMap());
+ }
}
private static boolean isIsomorphic(Dataset ds1, Dataset ds2)
{
return DatasetLib.isomorphic(ds1, ds2) ;
}
+
+ private static void checkNamespaces(Model m, Map<String, String> namespaces) {
+ if (namespaces == null) return;
+
+ for (String prefix : namespaces.keySet()) {
+ Assert.assertEquals("Model does contain expected namespace " + prefix + ": <" + namespaces.get(prefix) + ">", namespaces.get(prefix), m.getNsPrefixURI(prefix));
+ }
+ }
}