You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@any23.apache.org by jg...@apache.org on 2017/12/07 12:28:17 UTC

[14/17] any23 git commit: Add unit test for extracting lists.

Add unit test for extracting lists.


Signed-off-by:Jacek Grzebyta <gr...@gmail.com>

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

Branch: refs/heads/master
Commit: a4f2cd4739e9555eb1eff2ee97042b650a51bc3f
Parents: a4208ea
Author: Jacek Grzebyta <gr...@gmail.com>
Authored: Sun Nov 19 00:11:56 2017 +0000
Committer: Jacek Grzebyta <gr...@gmail.com>
Committed: Sun Nov 19 00:11:56 2017 +0000

----------------------------------------------------------------------
 .../any23/extractor/yaml/YAMLExtractorTest.java | 30 ++++++++++++++++++++
 1 file changed, 30 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/any23/blob/a4f2cd47/core/src/test/java/org/apache/any23/extractor/yaml/YAMLExtractorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/any23/extractor/yaml/YAMLExtractorTest.java b/core/src/test/java/org/apache/any23/extractor/yaml/YAMLExtractorTest.java
index 82c2ddc..1c8df9e 100644
--- a/core/src/test/java/org/apache/any23/extractor/yaml/YAMLExtractorTest.java
+++ b/core/src/test/java/org/apache/any23/extractor/yaml/YAMLExtractorTest.java
@@ -16,6 +16,9 @@
  */
 package org.apache.any23.extractor.yaml;
 
+import java.util.List;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 import org.apache.any23.extractor.ExtractorFactory;
 import org.apache.any23.extractor.html.AbstractExtractorTestCase;
 import org.apache.any23.rdf.RDFUtils;
@@ -26,7 +29,11 @@ import org.eclipse.rdf4j.common.iteration.Iterations;
 import org.eclipse.rdf4j.model.Statement;
 import org.eclipse.rdf4j.model.vocabulary.RDF;
 import org.eclipse.rdf4j.model.vocabulary.RDFS;
+import org.eclipse.rdf4j.query.BindingSet;
+import org.eclipse.rdf4j.query.TupleQueryResult;
+import org.eclipse.rdf4j.repository.RepositoryConnection;
 import org.eclipse.rdf4j.repository.RepositoryResult;
+import org.junit.ComparisonFailure;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -126,6 +133,29 @@ public class YAMLExtractorTest extends AbstractExtractorTestCase {
         assertContains(RDFUtils.triple(RDFUtils.bnode(), RDF.FIRST, RDFUtils.iri("urn:value1")));
     }
     
+    @Test
+    public void treeTest2() throws Exception {
+        assertExtract("/org/apache/any23/extractor/yaml/tree.yml");
+        String sparql ="select ?nodes where "
+                + "{ [] <http://bob.example.com/key3.1> [ rdf:rest*/rdf:first ?nodes ;]}";
+        
+        RepositoryConnection connection = getConnection();
+        TupleQueryResult res = connection.prepareTupleQuery(sparql).evaluate();
+        List<BindingSet> resList = Iterations.asList(res);
+        try {
+            Assert.assertEquals("value3.1.1", resList.get(0).getValue("nodes").stringValue());
+        } catch (ComparisonFailure e) {
+            if ("value3.1.1".equals(resList.get(0).getValue("nodes").stringValue())) {
+                throw new RuntimeException("there should be no error");
+            }
+        }
+        List<String> resString = resList.stream().map((Function<? super BindingSet, String>) (b) -> {
+            return b.getValue("nodes").stringValue();
+        }).collect(Collectors.toList());
+        
+        log.debug("List output: {}", resString);
+    }
+    
     /**
      * This test covers a typical situation when a document is a map.
      *