public void testQueryUnsetLimit() { Query<TestEntity> query = dao.queryBuilder().build(); try{ query.setLimit(1); fail("Limit must be defined in builder first"); } catch(RuntimeException expected) { //OK } }
public void testBuildQueryDoesntLeak() { QueryBuilder<TestEntity> builder = dao.queryBuilder().where(Properties.SimpleInteger.eq("dummy")); for (int i = 0; i < LEAK_TEST_ITERATIONS; i++) { builder.build(); } }
public void testOrderRaw() { ArrayList<TestEntity> inserted = insert(2); List<TestEntity> result = dao.queryBuilder().orderRaw(Properties.SimpleInteger.columnName + " ASC").list(); assertEquals(2, result.size()); assertEquals(inserted.get(0).getId(), result.get(0).getId()); result = dao.queryBuilder().orderRaw(Properties.SimpleInteger.columnName + " DESC").list(); assertEquals(2, result.size()); assertEquals(inserted.get(1).getId(), result.get(0).getId()); }
public void testOrderDesc() { ArrayList<TestEntity> inserted = insert(2); TestEntity entity = inserted.get(1); List<TestEntity> result = dao.queryBuilder().orderDesc(Properties.SimpleInteger).list(); assertEquals(2, result.size()); assertEquals(entity.getId(), result.get(0).getId()); result = dao.queryBuilder().orderDesc(Properties.SimpleInteger, Properties.SimpleString).list(); assertEquals(2, result.size()); assertEquals(entity.getId(), result.get(0).getId()); }
public void testOrderAsc() { ArrayList<TestEntity> inserted = insert(2); TestEntity entity = inserted.get(0); List<TestEntity> result = dao.queryBuilder().orderAsc(Properties.SimpleInteger).list(); assertEquals(2, result.size()); assertEquals(entity.getId(), result.get(0).getId()); result = dao.queryBuilder().orderAsc(Properties.SimpleInteger, Properties.SimpleString).list(); assertEquals(2, result.size()); assertEquals(entity.getId(), result.get(0).getId()); }
public void testNotEqString() { ArrayList<TestEntity> inserted = insert(3); String value = getSimpleString(1); List<TestEntity> result = dao.queryBuilder().where(Properties.SimpleString.notEq(value)).list(); assertEquals(2, result.size()); TestEntity resultEntity1 = result.get(0); TestEntity resultEntity2 = result.get(1); long loId = Math.min(resultEntity1.getId(), resultEntity2.getId()); long hiId = Math.max(resultEntity1.getId(), resultEntity2.getId()); assertEquals((long) inserted.get(0).getId(), loId); assertEquals((long) inserted.get(2).getId(), hiId); }
public void testQueryBuilderOffsetWithoutLimit() { try{ dao.queryBuilder().offset(7).orderAsc(Properties.SimpleInt).build(); fail("Offset may not be set alone"); } catch(RuntimeException expected) { //OK } }
public void testQueryBuilderOffsetAndLimitWithWhere() { insert(10); List<TestEntity> result = dao.queryBuilder().where(Properties.SimpleInteger.gt(getSimpleInteger(1))).offset(2) .limit(3).orderAsc(Properties.SimpleInt).list(); assertEquals(3, result.size()); assertEquals(getSimpleInteger(4), result.get(0).getSimpleInteger().intValue()); assertEquals(getSimpleInteger(5), result.get(1).getSimpleInteger().intValue()); assertEquals(getSimpleInteger(6), result.get(2).getSimpleInteger().intValue()); }
public void testEqStringAndInteger() { ArrayList<TestEntity> inserted = insert(3); String valueStr = getSimpleString(1); int valueInt = getSimpleInteger(1); List<TestEntity> result = dao.queryBuilder() .where(Properties.SimpleString.eq(valueStr), Properties.SimpleInteger.eq(valueInt)).list(); assertEquals(1, result.size()); TestEntity resultEntity = result.get(0); assertEquals(inserted.get(1).getId(), resultEntity.getId()); }
public void testBuildTwice() { insert(3); String value = getSimpleString(1); QueryBuilder<TestEntity> builder = dao.queryBuilder().where(Properties.SimpleString.eq(value)); Query<TestEntity> query1 = builder.build(); Query<TestEntity> query2 = builder.build(); List<TestEntity> list1 = query1.list(); List<TestEntity> list2 = query2.list(); assertEquals(1, list1.size()); assertEquals(1, list2.size()); assertEquals(list1.get(0).getId(), list2.get(0).getId()); }
public void testQueryLimitAndSetParameter() { Query<TestEntity> query = dao.queryBuilder().limit(5).offset(1).build(); try{ query.setParameter(0, (Object) null); fail("Offset/limit parameters must not interfere with user parameters"); } catch(RuntimeException expected) { //OK } }
public void testEqInteger() { ArrayList<TestEntity> inserted = insert(3); int value = getSimpleInteger(1); List<TestEntity> result = dao.queryBuilder().where(Properties.SimpleInteger.eq(value)).list(); assertEquals(1, result.size()); TestEntity resultEntity = result.get(0); assertEquals(value, (int) resultEntity.getSimpleInteger()); assertEquals(inserted.get(1).getId(), resultEntity.getId()); }
public void testEqString() { ArrayList<TestEntity> inserted = insert(3); String value = getSimpleString(1); List<TestEntity> result = dao.queryBuilder().where(Properties.SimpleString.eq(value)).list(); assertEquals(1, result.size()); TestEntity resultEntity = result.get(0); assertEquals(value, resultEntity.getSimpleString()); assertEquals(inserted.get(1).getId(), resultEntity.getId()); }
public void testSublistUncached() { ArrayList<TestEntity> list = insert(10); LazyList<TestEntity> listLazy = dao.queryBuilder().orderAsc(Properties.SimpleInteger).build().listLazyUncached(); try { assertIds(list.subList(2,7), listLazy.subList(2,7)); } catch (DaoException e) { assertEquals("This operation only works with cached lazy lists", e.getMessage()); } }
public void testBuildQueryAndDeleteQuery() { insert(3); int value = getSimpleInteger(1); QueryBuilder<TestEntity> builder = dao.queryBuilder().where(Properties.SimpleInteger.eq(value)); Query<TestEntity> query = builder.build(); DeleteQuery<TestEntity> deleteQuery = builder.buildDelete(); assertEquals(1, query.list().size()); deleteQuery.executeDeleteWithoutDetachingEntities(); assertEquals(0, query.list().size()); }
public void testBuildQueryAndCountQuery() { insert(3); int value = getSimpleInteger(1); QueryBuilder<TestEntity> builder = dao.queryBuilder().where(Properties.SimpleInteger.eq(value)); Query<TestEntity> query = builder.build(); CountQuery<TestEntity> countQuery = builder.buildCount(); assertEquals(1, query.list().size()); assertEquals(1, countQuery.count()); }
public void testGetAll100Uncached() { ArrayList<TestEntity> list = insert(100); LazyList<TestEntity> listLazy = dao.queryBuilder().orderAsc(Properties.SimpleInteger).build() .listLazyUncached(); assertIds(list, listLazy); assertFalse(listLazy.isClosed()); listLazy.close(); }
public void testGetForCurrentThread_ParametersAreReset() { insert(3); int value = getSimpleInteger(1); CountQuery<TestEntity> query = dao.queryBuilder().where(Properties.SimpleInteger.eq(value)).buildCount(); query.setParameter(0, value + 100); assertEquals(0, query.count()); query = query.forCurrentThread(); assertEquals(1, query.count()); }
public void testGetForCurrentThread_ParametersAreReset() { insert(3); int value = getSimpleInteger(1); Query<TestEntity> query = dao.queryBuilder().where(Properties.SimpleInteger.eq(value)).build(); query.setParameter(0, value + 1); TestEntity entityFor2 = query.unique(); assertEquals(value + 1, (int) entityFor2.getSimpleInteger()); query = query.forCurrentThread(); assertNotNull(query.unique()); }
public void testCountQueryChangeParameter() { insert(3); String value = "not existing value"; CountQuery<TestEntity> query = dao.queryBuilder().where(Properties.SimpleString.eq(value)).buildCount(); assertEquals(0, query.count()); query.setParameter(0, getSimpleString(1)); assertEquals(1, query.count()); query.setParameter(0, getSimpleString(2)); assertEquals(1, query.count()); query.setParameter(0, "you won't find me either"); assertEquals(0, query.count()); }