diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/java/com/amazon/carbonado/qe/TestIndexedQueryAnalyzer.java | 27 | 
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/java/com/amazon/carbonado/qe/TestIndexedQueryAnalyzer.java b/src/test/java/com/amazon/carbonado/qe/TestIndexedQueryAnalyzer.java index ebc8d48..4e6a9ae 100644 --- a/src/test/java/com/amazon/carbonado/qe/TestIndexedQueryAnalyzer.java +++ b/src/test/java/com/amazon/carbonado/qe/TestIndexedQueryAnalyzer.java @@ -208,6 +208,33 @@ public class TestIndexedQueryAnalyzer extends TestCase {          assertEquals("order.address", result.getForeignProperty().toString());
      }
 +    public void testChainedOuterJoin() throws Exception {
 +        IndexedQueryAnalyzer iqa = new IndexedQueryAnalyzer(Shipment.class, RepoAccess.INSTANCE);
 +        Filter<Shipment> filter = Filter.filterFor
 +            (Shipment.class, "(order).address.addressState = ?");
 +        filter = filter.bind();
 +        IndexedQueryAnalyzer.Result result = iqa.analyze(filter, null, null);
 +
 +        assertFalse(result.handlesAnything());
 +        assertEquals(filter, result.getCompositeScore().getFilteringScore().getRemainderFilter());
 +
 +        filter = Filter.filterFor
 +            (Shipment.class, "order.(address).addressState = ?");
 +        filter = filter.bind();
 +        result = iqa.analyze(filter, null, null);
 +
 +        assertFalse(result.handlesAnything());
 +        assertEquals(filter, result.getCompositeScore().getFilteringScore().getRemainderFilter());
 +
 +        filter = Filter.filterFor
 +            (Shipment.class, "(order).(address).addressState = ?");
 +        filter = filter.bind();
 +        result = iqa.analyze(filter, null, null);
 +
 +        assertFalse(result.handlesAnything());
 +        assertEquals(filter, result.getCompositeScore().getFilteringScore().getRemainderFilter());
 +    }
 +
      public void testChainedJoinExecutor() throws Exception {
          IndexedQueryAnalyzer<Shipment> iqa =
              new IndexedQueryAnalyzer<Shipment>(Shipment.class, RepoAccess.INSTANCE);
  | 
