Class MockProblemChangeDirector
java.lang.Object
ai.timefold.solver.test.api.solver.change.MockProblemChangeDirector
- All Implemented Interfaces:
ProblemChangeDirector
Use for unit-testing
ProblemChanges.
Together with Mockito this class makes it possible to verify that a
ProblemChange implementation correctly calls methods of
the ProblemChangeDirector.
Example of usage:
java
MockProblemChangeDirector mockProblemChangeDirector = spy(new MockProblemChangeDirector());
ProblemChange problemChange = new MyProblemChange(removedEntity);
problemChange.doChange(solution, mockProblemChangeDirector);
verify(mockProblemChangeDirector).removeEntity(same(removedEntity), any());
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<Entity> void<ProblemFact>
voidaddProblemFact(@NonNull ProblemFact problemFact, @NonNull Consumer<ProblemFact> problemFactConsumer) <EntityOrProblemFact>
voidchangeProblemProperty(@NonNull EntityOrProblemFact problemFactOrEntity, @NonNull Consumer<EntityOrProblemFact> problemFactOrEntityConsumer) <Entity> voidchangeVariable(@NonNull Entity entity, @NonNull String variableName, @NonNull Consumer<Entity> entityConsumer) <EntityOrProblemFact>
Optional<EntityOrProblemFact>lookUpWorkingObject(@Nullable EntityOrProblemFact externalObject) If the look-up result has been provided by awhenLookingUp(Object)call, returns the defined object.<EntityOrProblemFact>
@Nullable EntityOrProblemFactlookUpWorkingObjectOrFail(@Nullable EntityOrProblemFact externalObject) If the look-up result has been provided by awhenLookingUp(Object)call, returns the defined object.<Entity> voidremoveEntity(@NonNull Entity entity, Consumer<Entity> entityConsumer) <ProblemFact>
voidremoveProblemFact(@NonNull ProblemFact problemFact, @NonNull Consumer<ProblemFact> problemFactConsumer) voidwhenLookingUp(Object forObject) Defines whatlookUpWorkingObjectOrFail(Object)returns.
-
Constructor Details
-
MockProblemChangeDirector
public MockProblemChangeDirector()
-
-
Method Details
-
addEntity
- Specified by:
addEntityin interfaceProblemChangeDirector
-
removeEntity
- Specified by:
removeEntityin interfaceProblemChangeDirector
-
changeVariable
public <Entity> void changeVariable(@NonNull Entity entity, @NonNull String variableName, @NonNull Consumer<Entity> entityConsumer) - Specified by:
changeVariablein interfaceProblemChangeDirector
-
addProblemFact
public <ProblemFact> void addProblemFact(@NonNull ProblemFact problemFact, @NonNull Consumer<ProblemFact> problemFactConsumer) - Specified by:
addProblemFactin interfaceProblemChangeDirector
-
removeProblemFact
public <ProblemFact> void removeProblemFact(@NonNull ProblemFact problemFact, @NonNull Consumer<ProblemFact> problemFactConsumer) - Specified by:
removeProblemFactin interfaceProblemChangeDirector
-
changeProblemProperty
public <EntityOrProblemFact> void changeProblemProperty(@NonNull EntityOrProblemFact problemFactOrEntity, @NonNull Consumer<EntityOrProblemFact> problemFactOrEntityConsumer) - Specified by:
changeProblemPropertyin interfaceProblemChangeDirector
-
lookUpWorkingObjectOrFail
public <EntityOrProblemFact> @Nullable EntityOrProblemFact lookUpWorkingObjectOrFail(@Nullable EntityOrProblemFact externalObject) If the look-up result has been provided by awhenLookingUp(Object)call, returns the defined object. Otherwise, returns the original externalObject.- Specified by:
lookUpWorkingObjectOrFailin interfaceProblemChangeDirector- Parameters:
externalObject- entity or problem fact to look up
-
lookUpWorkingObject
public <EntityOrProblemFact> Optional<EntityOrProblemFact> lookUpWorkingObject(@Nullable EntityOrProblemFact externalObject) If the look-up result has been provided by awhenLookingUp(Object)call, returns the defined object. Otherwise, returns null.- Specified by:
lookUpWorkingObjectin interfaceProblemChangeDirector- Parameters:
externalObject- entity or problem fact to look up
-
updateShadowVariables
public void updateShadowVariables()- Specified by:
updateShadowVariablesin interfaceProblemChangeDirector
-
whenLookingUp
Defines whatlookUpWorkingObjectOrFail(Object)returns.
-