case classMaxDiscarded(value: Int) extends PropertyCheckConfigParam with Product with Serializable
A PropertyCheckConfigParam that specifies the maximum number of discarded
property evaluations allowed during property evaluation.
In GeneratorDrivenPropertyChecks, a property evaluation is discarded if it throws
UnmetConditionException, which is produce by whenever clause that
evaluates to false. For example, consider this ScalaTest property check:
// forAll defined in GeneratorDrivenPropertyChecks
forAll { (n: Int) =>
whenever (n > 0) {
doubleIt(n) should equal (n * 2)
}
}
In the above code, whenever a non-positive n is passed, the property function will complete abruptly
with UnmetConditionException.
Similarly, in Checkers, a property evaluation is discarded if the expression to the left
of ScalaCheck's ==> operator is false. Here's an example:
// forAll defined in Checkers
forAll { (n: Int) =>
(n > 0) ==> doubleIt(n) == (n * 2)
}
For either kind of property check, MaxDiscarded indicates the maximum number of discarded
evaluations that will be allowed. As soon as one past this number of evaluations indicates it needs to be discarded,
the property check will fail.
A
PropertyCheckConfigParam
that specifies the maximum number of discarded property evaluations allowed during property evaluation.In
GeneratorDrivenPropertyChecks
, a property evaluation is discarded if it throwsUnmetConditionException
, which is produce bywhenever
clause that evaluates to false. For example, consider this ScalaTest property check:In the above code, whenever a non-positive
n
is passed, the property function will complete abruptly withUnmetConditionException
.Similarly, in
Checkers
, a property evaluation is discarded if the expression to the left of ScalaCheck's==>
operator is false. Here's an example:For either kind of property check,
MaxDiscarded
indicates the maximum number of discarded evaluations that will be allowed. As soon as one past this number of evaluations indicates it needs to be discarded, the property check will fail.if specified
value
is less than zero.