You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2018/01/30 11:18:40 UTC

[2/5] jena git commit: JENA-1468: Tests

JENA-1468: Tests


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

Branch: refs/heads/master
Commit: 2586abf09751fd962ca7afe25d4ab3d9431ce716
Parents: 30eb931
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jan 26 13:53:17 2018 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Jan 27 13:49:43 2018 +0000

----------------------------------------------------------------------
 .../apache/jena/sparql/algebra/TS_Algebra.java  |  3 +-
 .../jena/sparql/algebra/TestOpAsQuery.java      | 26 +++++++-
 .../apache/jena/sparql/algebra/TestTable.java   | 68 ++++++++++++++++++++
 .../algebra/optimize/TestTransformFilters.java  |  2 +-
 4 files changed, 94 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/2586abf0/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TS_Algebra.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TS_Algebra.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TS_Algebra.java
index eaa9fe4..0e34dba 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TS_Algebra.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TS_Algebra.java
@@ -24,7 +24,8 @@ import org.junit.runners.Suite ;
 @RunWith(Suite.class)
 @Suite.SuiteClasses( {
     // This package
-    TestAlgebraTranslate.class
+    TestTable.class
+    , TestAlgebraTranslate.class
     , TestClassify.class
     , TestOpAsQuery.class
     , TestOpVars.class

http://git-wip-us.apache.org/repos/asf/jena/blob/2586abf0/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestOpAsQuery.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestOpAsQuery.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestOpAsQuery.java
index 24169d5..2033ba8 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestOpAsQuery.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestOpAsQuery.java
@@ -390,6 +390,25 @@ public class TestOpAsQuery {
     }
     
     @Test
+    public void testTable1() {
+        String query = "SELECT * WHERE { ?x ?p ?z . VALUES ?y { } }" ;
+        roundTripQuery(query);
+    }
+    
+    @Test
+    public void testTable2() {
+        // JENA-1468 : op to string and back.
+        String qs = "SELECT * WHERE { ?x ?p ?z . VALUES ?y { } }" ;
+        Query query = QueryFactory.create(qs); 
+        Op op = Algebra.compile(query);
+        String x = op.toString();
+        Op op1 = SSE.parseOp(x);
+        Query query2 = OpAsQuery.asQuery(op1);
+        assertEquals(query, query2);
+    }
+    
+
+    @Test
     public void testValues1() {
         String query = "SELECT  * { VALUES ?x {1 2} ?s ?p ?x }" ;
         test_roundTripQuery(query) ;
@@ -443,6 +462,7 @@ public class TestOpAsQuery {
     
     // Test for queries that do query->algebra->OpAsQuery->query
     // to produce an output that is .equals the input.
+    /** query->algebra->OpAsQuery->query */
     public static Query[] test_roundTripQuery(String query) {
         Query[] r = roundTripQuery(query) ;
         stripNamespacesAndBase(r[0]) ; 
@@ -471,7 +491,7 @@ public class TestOpAsQuery {
         Assert.assertEquals(a1, a2);
     }
     
-    // algebra->OpAsQuery->query
+    /** algebra->OpAsQuery->query */
     public static void test_AlgebraToQuery(String input, String expected) {
         Op op = SSE.parseOp(input) ;
         Query orig = QueryFactory.create(expected, Syntax.syntaxSPARQL_11);
@@ -480,7 +500,7 @@ public class TestOpAsQuery {
         Assert.assertEquals(orig, got) ;
     }
 
-    // query->algebra->OpAsQuery->query
+    /** query->algebra->OpAsQuery->query **/
     private static Query[] roundTripQuery(String query) {
         Query orig = QueryFactory.create(query, Syntax.syntaxSPARQL_11);
         Op toReconstruct = Algebra.compile(orig);
@@ -489,7 +509,7 @@ public class TestOpAsQuery {
         return r;
     }
     
-    // query->algebra/quads->OpAsQuery->query
+    /** query->algebra/quads->OpAsQuery->query */
     private static Query[] roundTripQueryQuad(String query) {
         Query orig = QueryFactory.create(query, Syntax.syntaxSPARQL_11);
         Op toReconstruct = Algebra.compile(orig);

http://git-wip-us.apache.org/repos/asf/jena/blob/2586abf0/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTable.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTable.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTable.java
new file mode 100644
index 0000000..5f647ce
--- /dev/null
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTable.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.sparql.algebra;
+
+import static org.junit.Assert.assertEquals;
+
+import org.apache.jena.atlas.io.IndentedLineBuffer;
+import org.apache.jena.sparql.algebra.op.OpTable;
+import org.apache.jena.sparql.core.Var;
+import org.apache.jena.sparql.engine.binding.Binding;
+import org.apache.jena.sparql.engine.binding.BindingFactory;
+import org.apache.jena.sparql.serializer.SerializationContext;
+import org.apache.jena.sparql.sse.writers.WriterOp;
+import org.junit.Test ;
+
+public class TestTable {
+    @Test public void table_01() {
+        Table table = TableFactory.createEmpty();
+        Op opTable = OpTable.create(table);
+        String x = str(opTable);
+        assertEquals("(table empty)",  x);
+    }
+
+    // JENA-1468: Table, no rows , with declared variables.
+    @Test public void table_02() {
+        Table table = TableFactory.create();
+        table.getVars().add(Var.alloc("a"));
+        Op opTable = OpTable.create(table);
+        String x = str(opTable);
+        assertEquals("(table (vars ?a))",  x);
+    }
+    
+    @Test public void table_03() {
+        Table table = TableFactory.create();
+        Binding b = BindingFactory.binding();
+        table.addBinding(b);
+        Op opTable = OpTable.create(table);
+        String x = str(opTable);
+        assertEquals("(table (vars) (row) )",  x);
+    }
+    
+    // String, no adornment
+    private static String str(Op op) {
+        SerializationContext sCxt = new SerializationContext();
+        IndentedLineBuffer out = new IndentedLineBuffer();
+        out.setFlatMode(true);
+        WriterOp.output(out, op, sCxt);
+        String x = out.asString();
+        return x.trim();
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/jena/blob/2586abf0/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformFilters.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformFilters.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformFilters.java
index a970f8e..41de9ee 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformFilters.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformFilters.java
@@ -907,7 +907,7 @@ public class TestTransformFilters extends AbstractTestTransform
         // Tests use of multiple != conditions on same variable
         testOp("(filter ((!= ?x <x>) (!= ?x <y>)) (bgp ( ?s ?p ?x)) )",
                t_inequality,
-               "(minus (bgp (?s ?p ?x)) (table (vars ?p ?x) (row [?x <y>]) (row [?x <x>])))") ;
+               "(minus (bgp (?s ?p ?x)) (table (vars ?x) (row [?x <y>]) (row [?x <x>])))") ;
     }
 
     @Test public void inequality09() {