public void testDeleteQueryExecutingMultipleTimes() { insert(3); String value = getSimpleString(1); DeleteQuery<TestEntity> deleteQuery = dao.queryBuilder().where(Properties.SimpleString.eq(value)).buildDelete(); deleteQuery.executeDeleteWithoutDetachingEntities(); assertEquals(2, dao.count()); deleteQuery.executeDeleteWithoutDetachingEntities(); assertEquals(2, dao.count()); insert(3); assertEquals(5, dao.count()); deleteQuery.executeDeleteWithoutDetachingEntities(); assertEquals(4, dao.count()); }
private void assertDeleted(Observable<Void> observable) { TestSubscriber testSubscriber = RxTestHelper.awaitTestSubscriber(observable); assertEquals(1, testSubscriber.getValueCount()); assertNull(testSubscriber.getOnNextEvents().get(0)); assertEquals(0, dao.count()); }
public void testGetForCurrentThread_ParametersAreReset() { insert(3); int value = getSimpleInteger(1); DeleteQuery<TestEntity> query = dao.queryBuilder().where(Properties.SimpleInteger.eq(value)).buildDelete(); query.setParameter(0, value + 100); query.executeDeleteWithoutDetachingEntities(); assertEquals(3, dao.count()); query = query.forCurrentThread(); query.executeDeleteWithoutDetachingEntities(); assertEquals(2, dao.count()); }
assertEquals(7, dao.count());
public void testDeleteQueryChangeParameter() { insert(3); String value = getSimpleString(1); DeleteQuery<TestEntity> deleteQuery = dao.queryBuilder().where(Properties.SimpleString.eq(value)).buildDelete(); deleteQuery.executeDeleteWithoutDetachingEntities(); assertEquals(2, dao.count()); deleteQuery.setParameter(0, getSimpleString(0)); deleteQuery.executeDeleteWithoutDetachingEntities(); assertEquals(1, dao.count()); TestEntity remaining = dao.loadAll().get(0); assertEquals(getSimpleString(2), remaining.getSimpleString()); }
public void testGetForCurrentThread_TwoThreads() throws InterruptedException { insert(3); createQueryFromOtherThread(); DeleteQuery<TestEntity> query = queryFromOtherThread.forCurrentThread(); assertNotSame(queryFromOtherThread, query); query.setParameter(0, getSimpleInteger(2)); query.executeDeleteWithoutDetachingEntities(); assertEquals(2, dao.count()); }
public void testJoinDelete() { prepareData(); QueryBuilder<RelationEntity> queryBuilder = createQueryBuilder(5); try { queryBuilder.buildDelete().executeDeleteWithoutDetachingEntities(); } catch (DaoException e) { assertEquals("JOINs are not supported for DELETE queries", e.getMessage()); return; } // Never executed, unsupported by SQLite assertEquals(9, relationEntityDao.count()); assertEquals(10, testEntityDao.count()); assertNull(relationEntityDao.queryBuilder().where(Properties.SimpleString.eq("entity-5")).unique()); }