private long countOrdersWithCustomerId(long customerId) { return orderBox.query().equal(Order_.customerId, customerId).build().count(); }
@Test public void testNoConditions() { List<TestEntity> entities = putTestEntitiesScalars(); Query<TestEntity> query = box.query().build(); List<TestEntity> all = query.find(); assertEquals(entities.size(), all.size()); assertEquals(entities.size(), query.count()); }
@Test public void testSetParameterFloat() { putTestEntitiesScalars(); Query<TestEntity> query = box.query().greater(simpleFloat, 400.65).parameterAlias("foo").build(); assertEquals(3, query.count()); query.setParameter(simpleFloat, 400.75); assertEquals(2, query.count()); query.setParameter("foo", 400.85); assertEquals(1, query.count()); }
@Test public void testLongIn() { putTestEntitiesScalars(); long[] valuesLong = {1, 1, 2, 3, 3003, 3007, 3002, -1}; Query<TestEntity> query = box.query().in(simpleLong, valuesLong).parameterAlias("long").build(); assertEquals(3, query.count()); long[] valuesLong2 = {3003}; query.setParameters(simpleLong, valuesLong2); assertEquals(1, query.count()); long[] valuesLong3 = {3003, 3007}; query.setParameters("long", valuesLong3); assertEquals(2, query.count()); }
@Test public void testObserver() { int[] valuesInt = {2003, 2007, 2002}; Query<TestEntity> query = box.query().in(simpleInt, valuesInt).build(); assertEquals(0, query.count()); query.subscribe().observer(this); assertLatchCountedDown(latch, 5); assertEquals(1, receivedChanges.size()); assertEquals(0, receivedChanges.get(0).size()); receivedChanges.clear(); latch = new CountDownLatch(1); putTestEntitiesScalars(); assertLatchCountedDown(latch, 5); assertEquals(1, receivedChanges.size()); assertEquals(3, receivedChanges.get(0).size()); }
@Test public void testIntIn() { putTestEntitiesScalars(); int[] valuesInt = {1, 1, 2, 3, 2003, 2007, 2002, -1}; Query<TestEntity> query = box.query().in(simpleInt, valuesInt).parameterAlias("int").build(); assertEquals(3, query.count()); int[] valuesInt2 = {2003}; query.setParameters(simpleInt, valuesInt2); assertEquals(1, query.count()); int[] valuesInt3 = {2003, 2007}; query.setParameters("int", valuesInt3); assertEquals(2, query.count()); }
@Test public void testLongNotIn() { putTestEntitiesScalars(); long[] valuesLong = {1, 1, 2, 3, 3003, 3007, 3002, -1}; Query<TestEntity> query = box.query().notIn(simpleLong, valuesLong).parameterAlias("long").build(); assertEquals(7, query.count()); long[] valuesLong2 = {3003}; query.setParameters(simpleLong, valuesLong2); assertEquals(9, query.count()); long[] valuesLong3 = {3003, 3007}; query.setParameters("long", valuesLong3); assertEquals(8, query.count()); }
@Test public void testNullNotNull() { List<TestEntity> scalars = putTestEntitiesScalars(); List<TestEntity> strings = putTestEntitiesStrings(); assertEquals(strings.size(), box.query().notNull(simpleString).build().count()); assertEquals(scalars.size(), box.query().isNull(simpleString).build().count()); }
@Test public void testScalarNotEqual() { List<TestEntity> entities = putTestEntitiesScalars(); Query<TestEntity> query = box.query().notEqual(simpleInt, 2007).notEqual(simpleInt, 2002).build(); assertEquals(entities.size() - 2, query.count()); }
@Test public void testOffsetLimit() { putTestEntitiesScalars(); Query<TestEntity> query = box.query().greater(simpleInt, 2002).less(simpleShort, 2108).build(); assertEquals(5, query.count()); assertEquals(4, query.find(1, 0).size()); assertEquals(1, query.find(4, 0).size()); assertEquals(2, query.find(0, 2).size()); List<TestEntity> list = query.find(1, 2); assertEquals(2, list.size()); assertEquals(2004, list.get(0).getSimpleInt()); assertEquals(2005, list.get(1).getSimpleInt()); }
@Test public void testScalarBetween() { putTestEntitiesScalars(); Query<TestEntity> query = box.query().between(simpleInt, 2003, 2006).build(); assertEquals(4, query.count()); }
@Test public void testScalarLessAndGreater() { putTestEntitiesScalars(); Query<TestEntity> query = box.query().greater(simpleInt, 2003).less(simpleShort, 2107).build(); assertEquals(3, query.count()); }
@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 testScalarFloatLessAndGreater() { putTestEntitiesScalars(); Query<TestEntity> query = box.query().greater(simpleFloat, 400.29f).less(simpleFloat, 400.51f).build(); assertEquals(3, query.count()); }
@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()); }
@Test public void testSetParameter2Floats() { putTestEntitiesScalars(); Query<TestEntity> query = box.query().between(simpleFloat, 400.15, 400.75).parameterAlias("foo").build(); assertEquals(6, query.count()); query.setParameters(simpleFloat, 400.65, 400.85); List<TestEntity> entities = query.find(); assertEquals(2, entities.size()); assertEquals(8, entities.get(0).getId()); assertEquals(9, entities.get(1).getId()); query.setParameters("foo", 400.45, 400.55); assertEquals(6, query.findUnique().getId()); }
@Test public void testSetParameter2Ints() { putTestEntitiesScalars(); Query<TestEntity> query = box.query().between(simpleInt, 2005, 2008).parameterAlias("foo").build(); assertEquals(4, query.count()); query.setParameters(simpleInt, 2002, 2003); List<TestEntity> entities = query.find(); assertEquals(2, entities.size()); assertEquals(3, entities.get(0).getId()); assertEquals(4, entities.get(1).getId()); query.setParameters("foo", 2007, 2007); assertEquals(8, query.findUnique().getId()); }
@Test public void testString() { List<TestEntity> entities = putTestEntitiesStrings(); int count = entities.size(); assertEquals(1, box.query().equal(simpleString, "banana").build().findUnique().getId()); assertEquals(count - 1, box.query().notEqual(simpleString, "banana").build().count()); assertEquals(4, box.query().startsWith(simpleString, "ba").endsWith(simpleString, "shake").build().findUnique() .getId()); assertEquals(2, box.query().contains(simpleString, "nana").build().count()); }
@Test public void testCount() { putTestEntity(null, 1000); putTestEntity("BAR", 100); putTestEntitiesStrings(); putTestEntity("banana", 101); Query<TestEntity> query = box.query().build(); PropertyQuery stringQuery = query.property(simpleString); assertEquals(8, query.count()); assertEquals(7, stringQuery.count()); assertEquals(6, stringQuery.distinct().count()); }