### Question:
JooqResearchDAO extends AbstractJooqDAO implements ResearchDAO { @Override public void delete(Research research) { Preconditions.checkNotNull(research, "research"); LOGGER.debug("Deleting research {}", research); context().delete(RESEARCH).where(RESEARCH.ID.eq(research.getId())).execute(); } @Inject  JooqResearchDAO(UnitOfWorkService unitOfWorkService); @Override void insert(Research research); @Override List<Research> findWithDone(long round); @Override void delete(Research research); @Override List<Research> findWithPlanetId(UUID planetId); @Override List<Research> findWithPlayerAndType(UUID playerId, TechnologyType type);  }### Answer:
@Test public void testDelete() throws Exception { Research research = ResearchScenario.Player1.Planet1.RESEARCH; sut.delete(research); List<Map<String, Object>> rows = select("SELECT * FROM research WHERE id = ?", research.getId()); assertThat(rows, hasSize(0)); }