You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by aj...@apache.org on 2018/01/06 15:17:57 UTC

[33/44] jena git commit: Beginning tests of dataset collectors

Beginning tests of dataset collectors


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/f665fa18
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/f665fa18
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/f665fa18

Branch: refs/heads/master
Commit: f665fa184c41173096e9590bd2775aa13b895140
Parents: 1579273
Author: ajs6f <aj...@apache.org>
Authored: Fri Dec 29 12:54:56 2017 -0500
Committer: ajs6f <aj...@apache.org>
Committed: Fri Jan 5 09:32:55 2018 -0500

----------------------------------------------------------------------
 .../jena/query/util/TestDatasetCollector.java   | 33 ++++++++++++++++++--
 .../util/TestIntersectionDatasetCollector.java  | 12 +++++++
 .../query/util/TestUnionDatasetCollector.java   | 32 +++++++++++++++++++
 3 files changed, 74 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/f665fa18/jena-arq/src/test/java/org/apache/jena/query/util/TestDatasetCollector.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/query/util/TestDatasetCollector.java b/jena-arq/src/test/java/org/apache/jena/query/util/TestDatasetCollector.java
index c86ace0..83093e9 100644
--- a/jena-arq/src/test/java/org/apache/jena/query/util/TestDatasetCollector.java
+++ b/jena-arq/src/test/java/org/apache/jena/query/util/TestDatasetCollector.java
@@ -1,7 +1,34 @@
 package org.apache.jena.query.util;
 
-public class TestDatasetCollector {
-    
-    
+import java.util.stream.Stream;
 
+import org.apache.jena.query.Dataset;
+import org.apache.jena.query.DatasetFactory;
+import org.junit.Assert;
+import org.junit.Test;
+
+public abstract class TestDatasetCollector extends Assert {
+
+    public abstract DatasetCollector testInstance();
+
+    @Test
+    public void collectionOfEmptyStreamShouldBeEmpty() {
+        final Dataset collected = Stream.<Dataset>empty().collect(testInstance());
+        assertTrue(collected.isEmpty());
+    }
+
+    @Test
+    public void collectionOfStreamOfEmptyDatasetsShouldBeEmpty() {
+        Stream<Dataset> stream = Stream.<Dataset>builder()
+                .add(DatasetFactory.create())
+                .add(DatasetFactory.create())
+                .add(DatasetFactory.create()).build();
+        final Dataset collected = stream.collect(testInstance());
+        assertTrue(collected.isEmpty());
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void noNullDatasetsAllowed() {
+        Stream.<Dataset>builder().add(null).build().collect(testInstance());
+    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/f665fa18/jena-arq/src/test/java/org/apache/jena/query/util/TestIntersectionDatasetCollector.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/query/util/TestIntersectionDatasetCollector.java b/jena-arq/src/test/java/org/apache/jena/query/util/TestIntersectionDatasetCollector.java
new file mode 100644
index 0000000..a8b1285
--- /dev/null
+++ b/jena-arq/src/test/java/org/apache/jena/query/util/TestIntersectionDatasetCollector.java
@@ -0,0 +1,12 @@
+package org.apache.jena.query.util;
+
+public class TestIntersectionDatasetCollector extends TestDatasetCollector{
+
+    @Override
+    public DatasetCollector testInstance() {
+        return DatasetLib.collectors().intersect();
+    }
+
+    
+    
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/f665fa18/jena-arq/src/test/java/org/apache/jena/query/util/TestUnionDatasetCollector.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/query/util/TestUnionDatasetCollector.java b/jena-arq/src/test/java/org/apache/jena/query/util/TestUnionDatasetCollector.java
new file mode 100644
index 0000000..65b94d0
--- /dev/null
+++ b/jena-arq/src/test/java/org/apache/jena/query/util/TestUnionDatasetCollector.java
@@ -0,0 +1,32 @@
+package org.apache.jena.query.util;
+
+import static org.apache.jena.rdf.model.ModelFactory.createModelForGraph;
+import static org.apache.jena.sparql.sse.SSE.parseGraph;
+
+import java.util.stream.Stream;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.query.Dataset;
+import org.apache.jena.query.DatasetFactory;
+import org.apache.jena.rdf.model.Model;
+import org.junit.Test;
+
+public class TestUnionDatasetCollector extends TestDatasetCollector {
+
+    @Override
+    public DatasetCollector testInstance() {
+        return DatasetLib.collectors().union();
+    }
+
+    @Test
+    public void collectingOneDatasetGivesOneDataset() {
+        Graph graph = parseGraph("(graph (triple <s1> <p1> <o1> ))");
+        Model model = createModelForGraph(graph);
+        Dataset dataset = DatasetFactory.create(model);
+        Dataset collection = Stream.<Dataset>builder().add(dataset).build().collect(testInstance());
+        assertTrue(dataset.getDefaultModel().isIsomorphicWith(collection.getDefaultModel()));
+        dataset.listNames().forEachRemaining(graphName -> assertTrue(
+                dataset.getNamedModel(graphName).isIsomorphicWith(collection.getNamedModel(graphName))));
+    }
+
+}