From 2712d569c34e8af1424220186861ea7d38da296e Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Sat, 24 May 2008 21:02:19 +0000 Subject: Added simple outer join test. --- .../carbonado/qe/TestIndexedQueryAnalyzer.java | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src') 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 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 iqa = new IndexedQueryAnalyzer(Shipment.class, RepoAccess.INSTANCE); -- cgit v1.2.3