Configuration

Companion object that facilitates the importing of Configuration members as an alternative to mixing it in. One use case is to import Configuration members so you can use them in the Scala interpreter.

Companion:
class
class Object
trait Matchable
class Any

Type members

Classlikes

case class Parameter(minSuccessful: PosInt, maxDiscardedFactor: PosZDouble, minSize: PosZInt, sizeRange: PosZInt, workers: PosInt)

The parameters that define how a property evaluation should be executed.

The parameters that define how a property evaluation should be executed.

You typically will not build this directly. Instead, you should define a PropertyCheckConfiguration and/or some PropertyCheckConfigParams, pass those in, and the system will resolve those to a coherent Parameter.

Value parameters:
maxDiscardedFactor

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; see MaxDiscardedFactor

minSize

the minimum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists); see MinSize

minSuccessful

the minimum number of successful property evaluations required for the property to pass; see MinSuccessful

sizeRange

the maximum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists); see SizeRange

workers

number of worker threads to use when evaluating a property; see Workers

Inherited classlikes

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.

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.

Inherited from:
Configuration
case class MinSize(value: PosZInt) extends PropertyCheckConfigParam

A PropertyCheckConfigParam that specifies the minimum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists).

A PropertyCheckConfigParam that specifies the minimum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists).

Inherited from:
Configuration
case class MinSuccessful(value: PosInt) extends PropertyCheckConfigParam

A PropertyCheckConfigParam that specifies the minimum number of successful property evaluations required for the property to pass.

A PropertyCheckConfigParam that specifies the minimum number of successful property evaluations required for the property to pass.

Once this many evaluations have passed, the property will return PropertyCheckResult.Success.

Inherited from:
Configuration
sealed abstract class PropertyCheckConfigParam extends Product with Serializable

Abstract class defining a family of configuration parameters for property checks.

Abstract class defining a family of configuration parameters for property checks.

The subclasses of this abstract class are used to pass configuration information to the forAll methods of traits PropertyChecks (for ScalaTest-style property checks) and Checkers(for ScalaCheck-style property checks).

Inherited from:
Configuration
case class PropertyCheckConfiguration(minSuccessful: PosInt, maxDiscardedFactor: PosZDouble, minSize: PosZInt, sizeRange: PosZInt, workers: PosInt)

Describes the configuration to use when evaluating a property.

Describes the configuration to use when evaluating a property.

Value parameters:
maxDiscardedFactor

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; see MaxDiscardedFactor

minSize

the minimum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists); see MinSize

minSuccessful

the minimum number of successful property evaluations required for the property to pass; see MinSuccessful

sizeRange

the maximum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists); see SizeRange

workers

number of worker threads to use when evaluating a property; see Workers

Inherited from:
Configuration

Internal utility functions for configuration management.

Internal utility functions for configuration management.

Inherited from:
Configuration
case class SizeRange(value: PosZInt) extends PropertyCheckConfigParam

A PropertyCheckConfigParam that (with minSize) specifies the maximum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists).

A PropertyCheckConfigParam that (with minSize) specifies the maximum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists).

Note that the size range is added to minSize in order to calculate the maximum size passed to ScalaCheck. Using a range allows compile-time checking of a non-negative number being specified.

Inherited from:
Configuration
case class Workers(value: PosInt) extends PropertyCheckConfigParam

A PropertyCheckConfigParam that specifies the number of worker threads to use when evaluating a property.

A PropertyCheckConfigParam that specifies the number of worker threads to use when evaluating a property.

Property evaluation runs on a single thread by default, but may run multiple threads if desired. If so, the evaluation will generally run faster. However, be careful not to use this if there is any risk of deadlocks, race conditions, or other hazards of multi-threaded code in evaluating this property or the code under test.

Inherited from:
Configuration

Value members

Inherited methods

Given some optional PropertyCheckConfigParams and a PropertyCheckConfiguration, compute the resulting Configuration.Parameter.

Given some optional PropertyCheckConfigParams and a PropertyCheckConfiguration, compute the resulting Configuration.Parameter.

This function deals with resolving the various forms of these configuration values, into a consistent form suitable for using in properties.

Duplicate PropertyCheckConfigParam entries are not permitted in the configParams list.

TODO: should this function be public? It feels like an internal implementation detail -- I think it should be private.

Value parameters:
c

a configuration object, describing how to run property evaluations

configParams

optionally, some parameters that differ from the provided c

Returns:

a fully-set-up Configuration.Parameter object, ready to evaluate properties with.

Inherited from:
Configuration
def maxDiscardedFactor(value: PosZDouble): MaxDiscardedFactor

Returns a MaxDiscardedFactor property check configuration parameter containing the passed value, which specifies the factor of discarded property evaluations allowed during property evaluation.

Returns a MaxDiscardedFactor property check configuration parameter containing the passed value, which specifies the factor of discarded property evaluations allowed during property evaluation.

Inherited from:
Configuration
def minSize(value: PosZInt): MinSize

Returns a MinSize property check configuration parameter containing the passed value, which specifies the minimum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists).

Returns a MinSize property check configuration parameter containing the passed value, which specifies the minimum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists).

Inherited from:
Configuration
def minSuccessful(value: PosInt): MinSuccessful

Returns a MinSuccessful property check configuration parameter containing the passed value, which specifies the minimum number of successful property evaluations required for the property to pass.

Returns a MinSuccessful property check configuration parameter containing the passed value, which specifies the minimum number of successful property evaluations required for the property to pass.

Inherited from:
Configuration
def sizeRange(value: PosZInt): SizeRange

Returns a SizeRange property check configuration parameter containing the passed value, that (with minSize) specifies the maximum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists).

Returns a SizeRange property check configuration parameter containing the passed value, that (with minSize) specifies the maximum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists).

Note that the size range is added to minSize in order to calculate the maximum size passed to ScalaCheck. Using a range allows compile-time checking of a non-negative number being specified.

Inherited from:
Configuration
def workers(value: PosInt): Workers

Returns a Workers property check configuration parameter containing the passed value, which specifies the number of worker threads to use when evaluating a property.

Returns a Workers property check configuration parameter containing the passed value, which specifies the number of worker threads to use when evaluating a property.

Inherited from:
Configuration

Implicits

Inherited implicits

Implicit PropertyCheckConfig value providing default configuration values.

Implicit PropertyCheckConfig value providing default configuration values.

Inherited from:
Configuration