Author: rvesse
Date: Tue Nov 12 16:59:56 2013
New Revision: 1541149

URL: http://svn.apache.org/r1541149
Log:
Couple more unit tests for JENA-587

Modified:
    
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestOptimizer.java

Modified: 
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestOptimizer.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestOptimizer.java?rev=1541149&r1=1541148&r2=1541149&view=diff
==============================================================================
--- 
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestOptimizer.java
 (original)
+++ 
jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestOptimizer.java
 Tue Nov 12 16:59:56 2013
@@ -332,6 +332,32 @@ public class TestOptimizer extends BaseT
         check(queryString, opExpectedString) ;
     }
     
+    @Test public void distinct_to_reduced_10()
+    {
+        // Per JENA-587 this is unsafe to transform since a non-project 
variable 
+        // appears before all the projected variables are seen in the ORDER BY
+        assertTrue(ARQ.isTrueOrUndef(ARQ.optDistinctToReduced)) ;
+        String queryString = "SELECT DISTINCT ?p ?o { ?s ?p ?o } ORDER BY ?s"  
;  
+        String opExpectedString = 
+            "(distinct\n" + 
+            "  (project (?p ?o)\n" +
+            "    (order (?s)\n" +
+            "      (bgp (triple ?s ?p ?o)))))" ; 
+        check(queryString, opExpectedString) ;
+    }
+    
+    @Test public void distinct_to_reduced_11()
+    {
+        // Per JENA-587 this is unsafe to transform since there is no ORDER BY
+        assertTrue(ARQ.isTrueOrUndef(ARQ.optDistinctToReduced)) ;
+        String queryString = "SELECT DISTINCT ?p ?o { ?s ?p ?o } "  ;  
+        String opExpectedString = 
+            "(distinct\n" + 
+            "  (project (?p ?o)\n" +
+            "      (bgp (triple ?s ?p ?o))))" ; 
+        check(queryString, opExpectedString) ;
+    }
+    
     @Test public void distinct_order_by_application_01()
     {
         assertTrue(ARQ.isTrueOrUndef(ARQ.optOrderByDistinctApplication)) ;


Reply via email to