### Question:
VehicleJdbcGateway implements VehicleGateway { @Override public Optional<Vehicle> findById(final String id) { final List<Vehicle> vehicles = jdbcTemplate.query("SELECT * FROM RENT_A_CAR.VEHICLE V " + "JOIN RENT_A_CAR.VEHICLE_TYPE VT ON V.TYPE = VT.TYPE " + "JOIN RENT_A_CAR.VEHICLE_BRAND VB ON V.BRAND = VB.NAME " + "JOIN RENT_A_CAR.VEHICLE_MODEL VM ON V.MODEL = VM.NAME " + "JOIN RENT_A_CAR.LOCATION L ON V.LOCATION = L.NAME " + "WHERE ID = ?", mapper, id); return Optional.ofNullable(vehicles.isEmpty() ? null : vehicles.get(0)); } VehicleJdbcGateway(final JdbcTemplate jdbcTemplate); @Override Vehicle save(final Vehicle vehicle); @Override Optional<Vehicle> findById(final String id); @Override List<Vehicle> search(final String type, final String brand, final String model,
        final BigDecimal maximumRate);  }### Answer:
@Test void test_findById_missingId_empty() { final Optional<Vehicle> vehicleOptional = vehicleGateway.findById("license plate"); Assertions.assertFalse(vehicleOptional.isPresent()); }