MaxDiscardedFactor

case class MaxDiscardedFactor(value: PosZDouble) extends PropertyCheckConfigParam

A PropertyCheckConfigParam that specifies how many generated values may be discarded, as a multiple of the successful attempts, before the property check is considered to be org.scalatest.prop.PropertyCheckResult.Exhausted.

In GeneratorDrivenPropertyChecks, a property evaluation is discarded if it throws DiscardedEvaluationException, which is produced by a 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 DiscardedEvaluationException.

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, MaxDiscardedFactor indicates the maximum fraction of total tests that may be discarded, relative to the number of successful tests. For example, if this is set to 4.0, and you are running 100 tests, it may discard up to 400 tries before considering the test to be org.scalatest.prop.PropertyCheckResult.Exhausted.

Value parameters:
value

the permitted number of discarded tests, as a multiple of successful ones.

trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Inherited methods

def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product