Github user rvesse commented on a diff in the pull request: https://github.com/apache/jena/pull/440#discussion_r198489213 --- Diff: jena-arq/src/test/java/org/apache/jena/sparql/syntax/TestSSE_Builder.java --- @@ -233,4 +247,54 @@ public void testBuildExpr_14() { "(!= ?x ?y)") ; } + @Test + public void testBuildTable_01() { + Op expected = OpTable.unit(); + Op actual = SSE.parseOp("(table unit)"); + assertEquals(expected, actual); + } + + @Test + public void testBuildTable_02() { + Op expected = OpTable.empty(); + Op actual = SSE.parseOp("(table empty)"); + assertEquals(expected, actual); + } + + @Test + public void testBuildTable_03() { + Op expected = OpTable.create(TableFactory.create(Var.alloc("x"), NodeConst.nodeTrue)); + Op actual = SSE.parseOp("(table (vars ?x) (row (?x true)))"); + assertEquals(expected, actual); + } + + @Test + public void testBuildTableBad_01() { + try { + SSE.parseOp("(table (vars ?x) (row (?x (table unit))))"); + Assert.fail("Parsing should fail"); + } catch (ExprBuildException e) { + // OK --- End diff -- I get the following when using the preferred form: ``` [-1,-1]: Not a node: (table ...) [1,27]: Only concrete nodes as table values: ANY: _ [ERROR] Tests run: 139, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.036 s <<< FAILURE! - in org.apache.jena.sparql.syntax.TS_SSE [ERROR] testBuildTableBad_01(org.apache.jena.sparql.syntax.TestSSE_Builder) Time elapsed: 0.006 s <<< ERROR! org.apache.jena.sparql.sse.builders.ExprBuildException: [-1,-1]: Not a node at org.apache.jena.sparql.syntax.TestSSE_Builder.testBuildTableBad_01(TestSSE_Builder.java:282) [ERROR] testBuildTableBad_02(org.apache.jena.sparql.syntax.TestSSE_Builder) Time elapsed: 0 s <<< ERROR! org.apache.jena.sparql.sse.builders.ExprBuildException: [1,27]: Only concrete nodes as table values: ANY at org.apache.jena.sparql.syntax.TestSSE_Builder.testBuildTableBad_02(TestSSE_Builder.java:288) ``` Any idea why?
---