diff options
| author | Brian S. O'Neill <bronee@gmail.com> | 2007-08-06 00:49:18 +0000 |
|---|---|---|
| committer | Brian S. O'Neill <bronee@gmail.com> | 2007-08-06 00:49:18 +0000 |
| commit | 7ece3797db2478e76d4a2ca8ea4dd8d034b464ef (patch) | |
| tree | 28ffde9d5e4e19b32db99b8d45e01d4aaefc071d | |
| parent | ecf73566b91313b61c06b104e45e24d89f4dd329 (diff) | |
Support filters as joined and not joined from one-to-many properties.
| -rw-r--r-- | src/test/java/com/amazon/carbonado/filter/TestFilterNotJoinedFrom.java | 50 |
1 files changed, 33 insertions, 17 deletions
diff --git a/src/test/java/com/amazon/carbonado/filter/TestFilterNotJoinedFrom.java b/src/test/java/com/amazon/carbonado/filter/TestFilterNotJoinedFrom.java index 1e97d89..6957913 100644 --- a/src/test/java/com/amazon/carbonado/filter/TestFilterNotJoinedFrom.java +++ b/src/test/java/com/amazon/carbonado/filter/TestFilterNotJoinedFrom.java @@ -23,6 +23,7 @@ import junit.framework.TestSuite; import com.amazon.carbonado.stored.Address;
import com.amazon.carbonado.stored.Order;
+import com.amazon.carbonado.stored.OrderItem;
import com.amazon.carbonado.stored.Shipment;
/**
@@ -47,11 +48,11 @@ public class TestFilterNotJoinedFrom extends TestCase { Filter<Shipment> filter = Filter.getOpenFilter(Shipment.class);
Filter<Shipment>.NotJoined nj = filter.notJoinedFrom("order");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
nj = filter.notJoinedFrom("order.address");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
}
@@ -59,11 +60,11 @@ public class TestFilterNotJoinedFrom extends TestCase { Filter<Shipment> filter = Filter.getClosedFilter(Shipment.class);
Filter<Shipment>.NotJoined nj = filter.notJoinedFrom("order");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
nj = filter.notJoinedFrom("order.address");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
}
@@ -72,11 +73,11 @@ public class TestFilterNotJoinedFrom extends TestCase { filter = filter.bind();
Filter<Shipment>.NotJoined nj = filter.notJoinedFrom("order");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
nj = filter.notJoinedFrom("order.address");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
filter = Filter.filterFor(Shipment.class, "order.orderTotal < ?");
@@ -88,7 +89,7 @@ public class TestFilterNotJoinedFrom extends TestCase { assertEquals(Filter.getOpenFilter(Shipment.class), nj.getRemainderFilter());
nj = filter.notJoinedFrom("order.address");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
filter = Filter.filterFor(Shipment.class, "order.address.addressCity = ?");
@@ -117,11 +118,11 @@ public class TestFilterNotJoinedFrom extends TestCase { filter = filter.bind();
Filter<Shipment>.NotJoined nj = filter.notJoinedFrom("order");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
nj = filter.notJoinedFrom("order.address");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
filter = Filter.filterFor
@@ -136,7 +137,7 @@ public class TestFilterNotJoinedFrom extends TestCase { nj.getRemainderFilter());
nj = filter.notJoinedFrom("order.address");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
filter = Filter.filterFor
@@ -166,11 +167,11 @@ public class TestFilterNotJoinedFrom extends TestCase { filter = filter.bind();
Filter<Shipment>.NotJoined nj = filter.notJoinedFrom("order");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
nj = filter.notJoinedFrom("order.address");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
filter = Filter.filterFor
@@ -189,11 +190,11 @@ public class TestFilterNotJoinedFrom extends TestCase { filter = filter.bind();
nj = filter.notJoinedFrom("order");
- assertEquals(Filter.getOpenFilter(Order.class), nj.getNotJoinedFilter());
+ assertEquals(null, nj.getNotJoinedFilter());
assertEquals(filter, nj.getRemainderFilter());
nj = filter.notJoinedFrom("order.address");
- assertTrue(nj.getNotJoinedFilter() instanceof OpenFilter);
+ assertTrue(nj.getNotJoinedFilter() == null);
assertEquals(filter, nj.getRemainderFilter());
filter = Filter.filterFor
@@ -219,11 +220,11 @@ public class TestFilterNotJoinedFrom extends TestCase { filter = filter.bind();
nj = filter.notJoinedFrom("order");
- assertEquals(Filter.getOpenFilter(Order.class), nj.getNotJoinedFilter());
+ assertEquals(null, nj.getNotJoinedFilter());
assertEquals(filter, nj.getRemainderFilter());
nj = filter.notJoinedFrom("order.address");
- assertEquals(Filter.getOpenFilter(Address.class), nj.getNotJoinedFilter());
+ assertEquals(null, nj.getNotJoinedFilter());
assertEquals(filter, nj.getRemainderFilter());
}
@@ -242,7 +243,7 @@ public class TestFilterNotJoinedFrom extends TestCase { assertEquals(Filter.getOpenFilter(Shipment.class), nj.getRemainderFilter());
nj = filter.notJoinedFrom("order.address");
- assertEquals(Filter.getOpenFilter(Address.class), nj.getNotJoinedFilter());
+ assertEquals(null, nj.getNotJoinedFilter());
assertEquals(filter, nj.getRemainderFilter());
filter = filter.and("order.address.customData > ?");
@@ -268,4 +269,19 @@ public class TestFilterNotJoinedFrom extends TestCase { "| order.orderTotal != ?").bind(),
nj.getRemainderFilter());
}
+
+ public void testOneToMany() {
+ Filter<Order> filter = Filter.filterFor
+ (Order.class, "orderItems.itemPrice = ? & addressID = ?");
+
+ Filter<Order>.NotJoined nj = filter.notJoinedFrom("orderItems");
+
+ assertEquals(Filter.filterFor(OrderItem.class, "itemPrice = ?").bind(),
+ nj.getNotJoinedFilter());
+ assertEquals(Filter.filterFor(Order.class, "addressID = ?").bind(),
+ nj.getRemainderFilter());
+
+ assertEquals(Filter.filterFor(Order.class, "orderItems.itemPrice = ?").bind(),
+ nj.getNotJoinedFilter().asJoinedFrom(Order.class, "orderItems"));
+ }
}
|
