### Question:
JooqShipInConstructionDAO extends AbstractJooqDAO implements ShipInConstructionDAO { @Override public void insert(ShipInConstruction shipInConstruction) { Preconditions.checkNotNull(shipInConstruction, "shipInConstruction"); context() .insertInto( SHIP_IN_CONSTRUCTION, SHIP_IN_CONSTRUCTION.ID, SHIP_IN_CONSTRUCTION.TYPE, SHIP_IN_CONSTRUCTION.PLANET_ID, SHIP_IN_CONSTRUCTION.PLAYER_ID, SHIP_IN_CONSTRUCTION.STARTED, SHIP_IN_CONSTRUCTION.DONE, SHIP_IN_CONSTRUCTION.BUILD_COST_CRYSTALS, SHIP_IN_CONSTRUCTION.BUILD_COST_GAS, SHIP_IN_CONSTRUCTION.BUILD_COST_ENERGY ) .values( shipInConstruction.getId(), shipInConstruction.getType().getId(), shipInConstruction.getPlanetId(), shipInConstruction.getPlayerId(), shipInConstruction.getStarted(), shipInConstruction.getDone(), shipInConstruction.getBuildCost().getCrystals(), shipInConstruction.getBuildCost().getGas(), shipInConstruction.getBuildCost().getEnergy() ) .execute(); } @Inject  JooqShipInConstructionDAO(UnitOfWorkService unitOfWorkService); @Override void insert(ShipInConstruction shipInConstruction); @Override List<ShipInConstruction> findWithDone(long round); @Override List<ShipInConstruction> findWithPlanetId(UUID planetId); @Override void delete(ShipInConstruction shipInConstruction);  }### Answer:
@Test public void testInsert() throws Exception { ShipInConstruction shipInConstruction = new ShipInConstruction(UUID.fromString("3c67aef2-9ff0-470e-acda-b26bc0a5fa4c"), ShipType.COLONY, BasicScenario.Player1.Planet1.PLANET.getId(), BasicScenario.Player1.PLAYER.getId(), 1, 2, new Resources(1, 2, 3)); sut.insert(shipInConstruction); List<Map<String, Object>> rows = select("SELECT * FROM ship_in_construction WHERE id = ?", shipInConstruction.getId()); assertThat(rows, hasSize(1)); verifyRow(rows.get(0), shipInConstruction); }