@Test public void testEagerToSingle_NoResult() { Query<Order> query = orderBox.query().eager(Order_.customer).build(); query.find(); query.findFirst(); query.forEach(new QueryConsumer<Order>() { @Override public void accept(Order data) { } }); }
@Test public void testEagerToMany_NoResult() { Query<Customer> query = customerBox.query().eager(Customer_.orders).build(); query.find(); query.findFirst(); query.forEach(new QueryConsumer<Customer>() { @Override public void accept(Customer data) { } }); }
@Test public void testBooleanEqual() { putTestEntitiesScalars(); Query<TestEntity> query = box.query().equal(simpleBoolean, true).build(); assertEquals(5, query.count()); assertEquals(1, query.findFirst().getId()); query.setParameter(simpleBoolean, false); assertEquals(5, query.count()); assertEquals(2, query.findFirst().getId()); }
@Test public void testByteArrayEqualsAndSetParameter() { putTestEntitiesScalars(); byte[] value = {1, 2, (byte) 2000}; Query<TestEntity> query = box.query().equal(simpleByteArray, value).parameterAlias("bytes").build(); assertEquals(1, query.count()); TestEntity first = query.findFirst(); assertNotNull(first); assertTrue(Arrays.equals(value, first.getSimpleByteArray())); byte[] value2 = {1, 2, (byte) 2001}; query.setParameter(simpleByteArray, value2); assertEquals(1, query.count()); TestEntity first2 = query.findFirst(); assertNotNull(first2); assertTrue(Arrays.equals(value2, first2.getSimpleByteArray())); byte[] value3 = {1, 2, (byte) 2002}; query.setParameter("bytes", value3); assertEquals(1, query.count()); TestEntity first3 = query.findFirst(); assertNotNull(first3); assertTrue(Arrays.equals(value3, first3.getSimpleByteArray())); }
@Test public void testScalarEqual() { putTestEntitiesScalars(); Query<TestEntity> query = box.query().equal(simpleInt, 2007).build(); assertEquals(1, query.count()); assertEquals(8, query.findFirst().getId()); assertEquals(8, query.findUnique().getId()); List<TestEntity> all = query.find(); assertEquals(1, all.size()); assertEquals(8, all.get(0).getId()); }
Order order = orderBox.query().eager(Order_.customer).build().findFirst(); assertTrue(order.customer__toOne.isResolved());
customer = customerBox.query().eager(Customer_.orders).build().findFirst(); assertTrue(((ToMany) customer.getOrders()).isResolved());
@Test // TODO can we improve? More than just "still works"? public void testQueryAttempts() { store.close(); BoxStoreBuilder builder = new BoxStoreBuilder(createTestModel(false)).directory(boxStoreDir) .queryAttempts(5) .failedReadTxAttemptCallback(new TxCallback() { @Override public void txFinished(@Nullable Object result, @Nullable Throwable error) { error.printStackTrace(); } }); builder.entity(new TestEntity_()); store = builder.build(); putTestEntitiesScalars(); Query<TestEntity> query = store.boxFor(TestEntity.class).query().equal(simpleInt, 2007).build(); assertEquals(2007, query.findFirst().getSimpleInt()); }
@Test public void exampleTest() { // get a box and use ObjectBox as usual Box<Note> noteBox = store.boxFor(Note.class); noteBox.put(NOTE); Note dbNote = noteBox.query().build().findFirst(); assertNotNull(dbNote); assertEquals(NOTE.text, dbNote.text); assertEquals(NOTE.comment, dbNote.comment); assertEquals(NOTE.date.getTime(), dbNote.date.getTime()); }