### Question:
JooqFlightDAO extends AbstractJooqDAO implements FlightDAO { @Override public List<Flight> findWithStart(Location location) { LOGGER.debug("Finding flights with start {}", location); Result<Record> result = context().select().from(FLIGHT).join(FLIGHT_SHIPS).on(FLIGHT_SHIPS.FLIGHT_ID.eq(FLIGHT.ID)) .where(FLIGHT.START_GALAXY.eq(location.getGalaxy())) .and(FLIGHT.START_SOLAR_SYSTEM.eq(location.getSolarSystem())) .and(FLIGHT.START_PLANET.eq(location.getPlanet())) .fetch(); return readFlights(result); } @Inject  JooqFlightDAO(UnitOfWorkService unitOfWorkService); @Override void insert(Flight flight); @Override List<Flight> findWithPlayerId(UUID playerId); @Override List<Flight> findWithArrival(long arrival); @Override void update(Flight flight); @Override void delete(Flight flight); @Override List<Flight> findWithTypeAndDetected(FlightType type, boolean detected); @Override List<Flight> findWithStart(Location location);  }### Answer:
@Test public void testFindWithStart() throws Exception { List<Flight> flights = sut.findWithStart(BasicScenario.Player1.Planet1.PLANET.getLocation()); assertThat(flights, hasSize(2)); assertThat(flights, containsInAnyOrder(FlightScenario.Player1.FLIGHT_1, FlightScenario.Player1.FLIGHT_2)); }
@Test public void testFindWithStart2() throws Exception { List<Flight> flights = sut.findWithStart(new Location(10, 10, 10)); assertThat(flights, hasSize(0)); }