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));
+    	}
+    }
 }