This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit 73d6528cafed444989481c6ad7906859772d954f
Author: Andy Seaborne <[email protected]>
AuthorDate: Tue Dec 30 21:06:35 2025 +0000

    Details for ASK eval test failure
---
 .../jena/arq/junit/sparql/tests/QueryEvalTest.java | 101 ++++++++++++---------
 1 file changed, 60 insertions(+), 41 deletions(-)

diff --git 
a/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryEvalTest.java
 
b/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryEvalTest.java
index 88a3617969..610b72463c 100644
--- 
a/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryEvalTest.java
+++ 
b/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryEvalTest.java
@@ -257,6 +257,50 @@ public class QueryEvalTest extends AbstractManifestTest {
         return;
     }
 
+    private void runTestAsk(Query query, QueryExecution qe) {
+        boolean bActual = qe.execAsk();
+        if ( results != null ) {
+            if ( results.isBoolean() ) {
+                boolean bExpected = results.getBooleanResult();
+                if ( bExpected != bActual ) {
+                    printFailedAskTest(query, qe, bExpected, bActual);
+                }
+                assertEquals(bExpected, bActual, ()->"ASK test results do not 
match");
+            } else {
+                Model resultsAsModel = results.getModel();
+                StmtIterator sIter = results.getModel().listStatements(null, 
RDF.type, ResultSetGraphVocab.ResultSet);
+                if ( !sIter.hasNext() )
+                    throw new TestSetupException("Can't find the ASK result");
+                Statement s = sIter.nextStatement();
+                if ( sIter.hasNext() )
+                    throw new TestSetupException("Too many result sets in ASK 
result");
+                Resource r = s.getSubject();
+                Property p = 
resultsAsModel.createProperty(ResultSetGraphVocab.getURI() + "boolean");
+
+                boolean x = r.getRequiredProperty(p).getBoolean();
+                if ( x != bActual )
+                    assertEquals(x, bActual, ()->"ASK test results do not 
match");
+            }
+        }
+        return;
+    }
+
+    private void runTestConstruct(Query query, QueryExecution qe) {
+        // Do the query!
+        if ( query.isConstructQuad() ) {
+            Dataset resultActual = qe.execConstructDataset();
+            compareDatasetResults(resultActual, query);
+        } else {
+            Model resultsActual = qe.execConstruct();
+            compareGraphResults(resultsActual, query);
+        }
+    }
+
+    private void runTestDescribe(Query query, QueryExecution qe) {
+        Model resultsActual = qe.execDescribe();
+        compareGraphResults(resultsActual, query);
+    }
+
     private ResultSetRewindable convertToStrings(ResultSetRewindable 
resultsActual) {
         List<Binding> bindings = new ArrayList<>();
         while (resultsActual.hasNext()) {
@@ -312,17 +356,6 @@ public class QueryEvalTest extends AbstractManifestTest {
         }
     }
 
-    private void runTestConstruct(Query query, QueryExecution qe) {
-        // Do the query!
-        if ( query.isConstructQuad() ) {
-            Dataset resultActual = qe.execConstructDataset();
-            compareDatasetResults(resultActual, query);
-        } else {
-            Model resultsActual = qe.execConstruct();
-            compareGraphResults(resultsActual, query);
-        }
-    }
-
     private void compareGraphResults(Model resultsActual, Query query) {
         if ( results != null ) {
             try {
@@ -364,36 +397,6 @@ public class QueryEvalTest extends AbstractManifestTest {
         }
     }
 
-    private void runTestDescribe(Query query, QueryExecution qe) {
-        Model resultsActual = qe.execDescribe();
-        compareGraphResults(resultsActual, query);
-    }
-
-    private void runTestAsk(Query query, QueryExecution qe) {
-        boolean result = qe.execAsk();
-        if ( results != null ) {
-            if ( results.isBoolean() ) {
-                boolean b = results.getBooleanResult();
-                assertEquals(b, result, ()->"ASK test results do not match");
-            } else {
-                Model resultsAsModel = results.getModel();
-                StmtIterator sIter = results.getModel().listStatements(null, 
RDF.type, ResultSetGraphVocab.ResultSet);
-                if ( !sIter.hasNext() )
-                    throw new TestSetupException("Can't find the ASK result");
-                Statement s = sIter.nextStatement();
-                if ( sIter.hasNext() )
-                    throw new TestSetupException("Too many result sets in ASK 
result");
-                Resource r = s.getSubject();
-                Property p = 
resultsAsModel.createProperty(ResultSetGraphVocab.getURI() + "boolean");
-
-                boolean x = r.getRequiredProperty(p).getBoolean();
-                if ( x != result )
-                    assertEquals(x, result, ()->"ASK test results do not 
match");
-            }
-        }
-        return;
-    }
-
     private void printFailedResultSetTest(Query query, QueryExecution qe, 
ResultSetRewindable qrExpected, ResultSetRewindable qrActual) {
         PrintStream out = System.out;
         out.println();
@@ -419,6 +422,22 @@ public class QueryEvalTest extends AbstractManifestTest {
         out.flush();
     }
 
+    private void printFailedAskTest(Query query, QueryExecution qe, boolean 
qrExpected, boolean qrActual) {
+        PrintStream out = System.out;
+        out.println();
+        out.println("=======================================");
+        out.println("Failure: " + description());
+        out.println("Query: \n" + query);
+        if ( qe != null && qe.getDataset() != null ) {
+            out.println("Data:");
+            RDFDataMgr.write(out, qe.getDataset(), Lang.TRIG);
+        }
+        out.println("Got: " + qrActual + " --------------------------------");
+        out.println("Expected: " + qrExpected + " 
-----------------------------");
+        out.println();
+        out.flush();
+    }
+
     private void printFailedModelTest(Query query, Model expected, Model 
results) {
         PrintWriter out = FileUtils.asPrintWriterUTF8(System.out);
         out.println("=======================================");

Reply via email to