### Question:
JooqTechnologyDAO extends AbstractJooqDAO implements TechnologyDAO { @Override public void insert(Technology technology) { Preconditions.checkNotNull(technology, "technology"); LOGGER.debug("Inserting technology {}", technology); context() .insertInto(TECHNOLOGY, TECHNOLOGY.ID, TECHNOLOGY.TYPE, TECHNOLOGY.PLAYER_ID, TECHNOLOGY.LEVEL) .values(technology.getId(), technology.getType().getId(), technology.getPlayerId(), technology.getLevel()) .execute(); } @Inject  JooqTechnologyDAO(UnitOfWorkService unitOfWorkService); @Override Technologies findAllWithPlayerId(UUID playerId); @Override Optional<Technology> findWithPlayerId(UUID playerId, TechnologyType type); @Override void update(Technology technology); @Override void insert(Technology technology);  }### Answer:
@Test public void testInsert() throws Exception { Technology technology = new Technology(UUID.fromString("a8188140-a97a-11e4-bcd8-0800200c9a66"), TechnologyType.COMBUSTION_ENGINE, 10, BasicScenario.Player2.PLAYER.getId()); sut.insert(technology); List<Map<String, Object>> rows = select("SELECT * FROM technology WHERE id = ?", technology.getId()); assertThat(rows, hasSize(1)); verifyRow(rows.get(0), technology); }