test_class.declarator: crudRepository
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private VehicleCrudRepository crudRepository;
test_class.type: VehicleCrudRepository
test_class.var_name: crudRepository
test_class.declarator: repository
test_class.modifier: @InjectMocks
      private
test_class.original_string: @InjectMocks
      private VehicleRepositoryImpl repository;
test_class.type: VehicleRepositoryImpl
test_class.var_name: repository
test_class.declarator: vehicleEntityCaptor
test_class.modifier: @Captor
      private
test_class.original_string: @Captor
      private ArgumentCaptor<VehicleEntity> vehicleEntityCaptor;
test_class.type: ArgumentCaptor<VehicleEntity>
test_class.var_name: vehicleEntityCaptor
test_class.declarator: testVehicle = VehicleFactory.createVehicle(19, "vehicle name", 1100)
test_class.modifier: private final
test_class.original_string: private final Vehicle testVehicle = VehicleFactory.createVehicle(19, "vehicle name", 1100);
test_class.type: Vehicle
test_class.var_name: testVehicle
test_class.file: optaweb-vehicle-routing-backend/src/test/java/org/optaweb/vehiclerouting/plugin/persistence/VehicleRepositoryImplTest.java
test_class.identifier: VehicleRepositoryImplTest
test_case.body: @Test
      void update() {
          repository.update(testVehicle);
  
          verify(crudRepository).save(vehicleEntityCaptor.capture());
  
          VehicleEntity savedVehicle = vehicleEntityCaptor.getValue();
          assertThat(savedVehicle.getId()).isEqualTo(testVehicle.id());
          assertThat(savedVehicle.getName()).isEqualTo(testVehicle.name());
          assertThat(savedVehicle.getCapacity()).isEqualTo(testVehicle.capacity());
      }
test_case.class_method_signature: VehicleRepositoryImplTest.update()
test_case.full_signature: @Test void update()
test_case.identifier: update
test_case.invocations: update save verify capture getValue isEqualTo assertThat getId id isEqualTo assertThat getName name isEqualTo assertThat getCapacity capacity
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void update()
focal_class.declarator: logger = LoggerFactory.getLogger(VehicleRepositoryImpl.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(VehicleRepositoryImpl.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: repository
focal_class.modifier: private final
focal_class.original_string: private final VehicleCrudRepository repository;
focal_class.type: VehicleCrudRepository
focal_class.var_name: repository
focal_class.file: optaweb-vehicle-routing-backend/src/main/java/org/optaweb/vehiclerouting/plugin/persistence/VehicleRepositoryImpl.java
focal_class.identifier: VehicleRepositoryImpl
focal_class.interfaces: implements VehicleRepository
focal_class.class_method_signature: VehicleRepositoryImpl.VehicleRepositoryImpl(VehicleCrudRepository repository)
focal_class.full_signature: public  VehicleRepositoryImpl(VehicleCrudRepository repository)
focal_class.identifier: VehicleRepositoryImpl
focal_class.modifiers: public
focal_class.parameters: (VehicleCrudRepository repository)
focal_class.signature:  VehicleRepositoryImpl(VehicleCrudRepository repository)
focal_class.class_method_signature: VehicleRepositoryImpl.createVehicle(int capacity)
focal_class.full_signature: @Override public Vehicle createVehicle(int capacity)
focal_class.identifier: createVehicle
focal_class.modifiers: @Override public
focal_class.parameters: (int capacity)
focal_class.return: Vehicle
focal_class.signature: Vehicle createVehicle(int capacity)
focal_class.class_method_signature: VehicleRepositoryImpl.createVehicle(VehicleData vehicleData)
focal_class.full_signature: @Override public Vehicle createVehicle(VehicleData vehicleData)
focal_class.identifier: createVehicle
focal_class.modifiers: @Override public
focal_class.parameters: (VehicleData vehicleData)
focal_class.return: Vehicle
focal_class.signature: Vehicle createVehicle(VehicleData vehicleData)
focal_class.class_method_signature: VehicleRepositoryImpl.vehicles()
focal_class.full_signature: @Override public List<Vehicle> vehicles()
focal_class.identifier: vehicles
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: List<Vehicle>
focal_class.signature: List<Vehicle> vehicles()
focal_class.class_method_signature: VehicleRepositoryImpl.removeVehicle(long id)
focal_class.full_signature: @Override public Vehicle removeVehicle(long id)
focal_class.identifier: removeVehicle
focal_class.modifiers: @Override public
focal_class.parameters: (long id)
focal_class.return: Vehicle
focal_class.signature: Vehicle removeVehicle(long id)
focal_class.class_method_signature: VehicleRepositoryImpl.removeAll()
focal_class.full_signature: @Override public void removeAll()
focal_class.identifier: removeAll
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void removeAll()
focal_class.class_method_signature: VehicleRepositoryImpl.find(long vehicleId)
focal_class.full_signature: @Override public Optional<Vehicle> find(long vehicleId)
focal_class.identifier: find
focal_class.modifiers: @Override public
focal_class.parameters: (long vehicleId)
focal_class.return: Optional<Vehicle>
focal_class.signature: Optional<Vehicle> find(long vehicleId)
focal_class.class_method_signature: VehicleRepositoryImpl.update(Vehicle vehicle)
focal_class.full_signature: @Override public void update(Vehicle vehicle)
focal_class.identifier: update
focal_class.modifiers: @Override public
focal_class.parameters: (Vehicle vehicle)
focal_class.return: void
focal_class.signature: void update(Vehicle vehicle)
focal_class.class_method_signature: VehicleRepositoryImpl.toDomain(VehicleEntity vehicleEntity)
focal_class.full_signature: private static Vehicle toDomain(VehicleEntity vehicleEntity)
focal_class.identifier: toDomain
focal_class.modifiers: private static
focal_class.parameters: (VehicleEntity vehicleEntity)
focal_class.return: Vehicle
focal_class.signature: Vehicle toDomain(VehicleEntity vehicleEntity)
focal_method.body: @Override
      public void update(Vehicle vehicle) {
          repository.save(new VehicleEntity(vehicle.id(), vehicle.name(), vehicle.capacity()));
      }
focal_method.class_method_signature: VehicleRepositoryImpl.update(Vehicle vehicle)
focal_method.full_signature: @Override public void update(Vehicle vehicle)
focal_method.identifier: update
focal_method.invocations: save id name capacity
focal_method.modifiers: @Override public
focal_method.parameters: (Vehicle vehicle)
focal_method.return: void
focal_method.signature: void update(Vehicle vehicle)