Class MockProblemChangeDirector
java.lang.Object
org.optaplanner.test.api.solver.change.MockProblemChangeDirector
- All Implemented Interfaces:
org.optaplanner.core.api.solver.change.ProblemChangeDirector
public class MockProblemChangeDirector
extends Object
implements org.optaplanner.core.api.solver.change.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(ProblemFact problemFact, Consumer<ProblemFact> problemFactConsumer) <EntityOrProblemFact>
voidchangeProblemProperty(EntityOrProblemFact problemFactOrEntity, Consumer<EntityOrProblemFact> problemFactOrEntityConsumer) <Entity> voidchangeVariable(Entity entity, String variableName, Consumer<Entity> entityConsumer) <EntityOrProblemFact>
Optional<EntityOrProblemFact>lookUpWorkingObject(EntityOrProblemFact externalObject) If the look-up result has been provided by awhenLookingUp(Object)call, returns the defined object.<EntityOrProblemFact>
EntityOrProblemFactlookUpWorkingObjectOrFail(EntityOrProblemFact externalObject) If the look-up result has been provided by awhenLookingUp(Object)call, returns the defined object.<Entity> voidremoveEntity(Entity entity, Consumer<Entity> entityConsumer) <ProblemFact>
voidremoveProblemFact(ProblemFact problemFact, Consumer<ProblemFact> problemFactConsumer) voidwhenLookingUp(Object forObject) Defines whatlookUpWorkingObjectOrFail(Object)returns.
-
Constructor Details
-
MockProblemChangeDirector
public MockProblemChangeDirector()
-
-
Method Details
-
addEntity
- Specified by:
addEntityin interfaceorg.optaplanner.core.api.solver.change.ProblemChangeDirector
-
removeEntity
- Specified by:
removeEntityin interfaceorg.optaplanner.core.api.solver.change.ProblemChangeDirector
-
changeVariable
public <Entity> void changeVariable(Entity entity, String variableName, Consumer<Entity> entityConsumer) - Specified by:
changeVariablein interfaceorg.optaplanner.core.api.solver.change.ProblemChangeDirector
-
addProblemFact
public <ProblemFact> void addProblemFact(ProblemFact problemFact, Consumer<ProblemFact> problemFactConsumer) - Specified by:
addProblemFactin interfaceorg.optaplanner.core.api.solver.change.ProblemChangeDirector
-
removeProblemFact
public <ProblemFact> void removeProblemFact(ProblemFact problemFact, Consumer<ProblemFact> problemFactConsumer) - Specified by:
removeProblemFactin interfaceorg.optaplanner.core.api.solver.change.ProblemChangeDirector
-
changeProblemProperty
public <EntityOrProblemFact> void changeProblemProperty(EntityOrProblemFact problemFactOrEntity, Consumer<EntityOrProblemFact> problemFactOrEntityConsumer) - Specified by:
changeProblemPropertyin interfaceorg.optaplanner.core.api.solver.change.ProblemChangeDirector
-
lookUpWorkingObjectOrFail
public <EntityOrProblemFact> EntityOrProblemFact lookUpWorkingObjectOrFail(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 interfaceorg.optaplanner.core.api.solver.change.ProblemChangeDirector- Parameters:
externalObject- entity or problem fact to look up
-
lookUpWorkingObject
public <EntityOrProblemFact> Optional<EntityOrProblemFact> lookUpWorkingObject(EntityOrProblemFact externalObject) If the look-up result has been provided by awhenLookingUp(Object)call, returns the defined object. Otherwise, returns null.- Specified by:
lookUpWorkingObjectin interfaceorg.optaplanner.core.api.solver.change.ProblemChangeDirector- Parameters:
externalObject- entity or problem fact to look up
-
updateShadowVariables
public void updateShadowVariables()- Specified by:
updateShadowVariablesin interfaceorg.optaplanner.core.api.solver.change.ProblemChangeDirector
-
whenLookingUp
Defines whatlookUpWorkingObjectOrFail(Object)returns.
-