summaryrefslogtreecommitdiff
path: root/src/test/java/com/amazon
diff options
context:
space:
mode:
authorBrian S. O'Neill <bronee@gmail.com>2007-08-06 00:49:18 +0000
committerBrian S. O'Neill <bronee@gmail.com>2007-08-06 00:49:18 +0000
commit7ece3797db2478e76d4a2ca8ea4dd8d034b464ef (patch)
tree28ffde9d5e4e19b32db99b8d45e01d4aaefc071d /src/test/java/com/amazon
parentecf73566b91313b61c06b104e45e24d89f4dd329 (diff)
Support filters as joined and not joined from one-to-many properties.
Diffstat (limited to 'src/test/java/com/amazon')
-rw-r--r--src/test/java/com/amazon/carbonado/filter/TestFilterNotJoinedFrom.java50
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"));
+ }
}