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 thePlanningSolution
annotation
- 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
Score
type, 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 void
assertWeight(String constraintPackage, String constraintName, int scoreLevel, Number expectedWeight, Solution_ solution)
Assert that the constraint ofPlanningSolution
has 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, theSolverFactory
of which you want to test the constraints.expectedScoreClass
- never null, used to fail fast if aSolverFactory
with anotherScore
type is used.
-
-
Method Detail
-
assertWeight
protected void assertWeight(String constraintPackage, String constraintName, int scoreLevel, Number expectedWeight, Solution_ solution)
Assert that the constraint ofPlanningSolution
has the expected weight for that score level.- Parameters:
constraintPackage
- sometimes null. When null,constraintName
for thescoreLevel
must 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
-
-