diff options
Diffstat (limited to 'src/test/java/com/amazon/carbonado')
| -rw-r--r-- | src/test/java/com/amazon/carbonado/TestStorables.java | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/java/com/amazon/carbonado/TestStorables.java b/src/test/java/com/amazon/carbonado/TestStorables.java index 07f32f3..484fe5a 100644 --- a/src/test/java/com/amazon/carbonado/TestStorables.java +++ b/src/test/java/com/amazon/carbonado/TestStorables.java @@ -3397,6 +3397,38 @@ public class TestStorables extends TestCase {          assertFalse(s1.equals(s3));      } +    public void test_joinExistsQuery() throws Exception { +        Storage<Order> orders = getRepository().storageFor(Order.class); +        Storage<OrderItem> orderItems = getRepository().storageFor(OrderItem.class); + +        Order order = orders.prepare(); +        order.setOrderID(1); +        order.setOrderNumber("111"); +        order.setOrderTotal(123); +        order.setAddressID(0); +        order.insert(); + +        OrderItem item = orderItems.prepare(); +        item.setOrderItemID(2); +        item.setOrderID(1); +        item.setItemDescription("stuff"); +        item.setItemQuantity(1); +        item.setItemPrice(123); +        item.setShipmentID(0); +        item.insert(); + +        Query<Order> query = orders.query("orderTotal = ? & orderItems(itemQuantity = ?)"); + +        order = query.with(123).with(1).loadOne(); +        assertEquals(1, order.getOrderID()); + +        order = query.with(123).with(2).tryLoadOne(); +        assertNull(order); + +        order = query.with(1234).with(1).tryLoadOne(); +        assertNull(order); +    } +      private void assertUninitialized(boolean expected, Storable storable, String... properties) {          for (String property : properties) {              assertEquals(expected, storable.isPropertyUninitialized(property));  | 
