Package org.optaplanner.test.impl.score
Class AbstractScoreVerifier<Solution_>
- java.lang.Object
 - 
- org.optaplanner.test.impl.score.AbstractScoreVerifier<Solution_>
 
 
- 
- Type Parameters:
 Solution_- the solution type, the class with thePlanningSolutionannotation
- Direct Known Subclasses:
 BendableBigDecimalScoreVerifier,BendableLongScoreVerifier,BendableScoreVerifier,HardMediumSoftLongScoreVerifier,HardMediumSoftScoreVerifier,HardSoftBigDecimalScoreVerifier,HardSoftLongScoreVerifier,HardSoftScoreVerifier,SimpleBigDecimalScoreVerifier,SimpleLongScoreVerifier,SimpleScoreVerifier
public abstract class AbstractScoreVerifier<Solution_> extends Object
Used in unit tests to assert that 1 particular solution has a specific weight for a specific constraint. This works well to verify that the implementation is in sync with the business constraints. This does not work well to detect score corruption, useScoreDirectorFactoryConfig.setAssertionScoreDirectorFactory(ScoreDirectorFactoryConfig)for that instead.Do not use this class directly, instead use the specific subclass for your
Scoretype, such asHardSoftScoreVerifier.- See Also:
 HardSoftScoreVerifier
 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected InnerScoreDirectorFactory<Solution_,?>scoreDirectorFactory 
- 
Constructor Summary
Constructors Constructor Description AbstractScoreVerifier(SolverFactory<Solution_> solverFactory, Class<? extends Score<?>> expectedScoreClass) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidassertWeight(String constraintPackage, String constraintName, int scoreLevel, Number expectedWeight, Solution_ solution)Assert that the constraint ofPlanningSolutionhas the expected weight for that score level. 
 - 
 
- 
- 
Field Detail
- 
scoreDirectorFactory
protected final InnerScoreDirectorFactory<Solution_,?> scoreDirectorFactory
 
 - 
 
- 
Constructor Detail
- 
AbstractScoreVerifier
public AbstractScoreVerifier(SolverFactory<Solution_> solverFactory, Class<? extends Score<?>> expectedScoreClass)
- Parameters:
 solverFactory- never null, theSolverFactoryof which you want to test the constraints.expectedScoreClass- never null, used to fail fast if aSolverFactorywith anotherScoretype is used.
 
 - 
 
- 
Method Detail
- 
assertWeight
protected void assertWeight(String constraintPackage, String constraintName, int scoreLevel, Number expectedWeight, Solution_ solution)
Assert that the constraint ofPlanningSolutionhas the expected weight for that score level.- Parameters:
 constraintPackage- sometimes null. When null,constraintNamefor thescoreLevelmust be unique.scoreLevel- at least 0constraintName- never null, the name of the constraintexpectedWeight- never null, the total weight for all matches of that 1 constraintsolution- never null
 
 - 
 
 -