trait Configuration extends AnyRef
Trait providing methods and classes used to configure property checks provided by the
the forAll
methods of trait GeneratorDrivenPropertyChecks
(for ScalaTest-style
property checks) and the check
methods of trait Checkers
(for ScalaCheck-style property checks).
- Source
- Configuration.scala
- Alphabetic
- By Inheritance
- Configuration
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class MaxDiscardedFactor(value: PosZDouble) extends PropertyCheckConfigParam with Product with Serializable
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 throwsDiscardedEvaluationException
, which is produced by awhenever
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 withDiscardedEvaluationException
.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
the permitted number of discarded tests, as a multiple of successful ones.
- case class MinSize(value: PosZInt) extends PropertyCheckConfigParam with Product with Serializable
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). - case class MinSuccessful(value: PosInt) extends PropertyCheckConfigParam with Product with Serializable
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.
- 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 traitsPropertyChecks
(for ScalaTest-style property checks) andCheckers
(for ScalaCheck-style property checks). - case class PropertyCheckConfiguration(minSuccessful: PosInt = PosInt.ensuringValid(10), maxDiscardedFactor: PosZDouble = PosZDouble.ensuringValid(5.0), minSize: PosZInt = Configuration.minSize.get(), sizeRange: PosZInt = Configuration.sizeRange.get(), workers: PosInt = PosInt.ensuringValid(1)) extends Product with Serializable
Describes the configuration to use when evaluating a property.
Describes the configuration to use when evaluating a property.
- minSuccessful
the minimum number of successful property evaluations required for the property to pass (Note that the default is 10 instead of 100 as in ScalaCheck.); see MinSuccessful
- 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
- 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
- case class SizeRange(value: PosZInt) extends PropertyCheckConfigParam with Product with Serializable
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.
- case class Workers(value: PosInt) extends PropertyCheckConfigParam with Product with Serializable
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.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- implicit val generatorDrivenConfig: PropertyCheckConfiguration
Implicit
PropertyCheckConfig
value providing default configuration values. - final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getParameter(configParams: Seq[PropertyCheckConfigParam], config: PropertyCheckConfiguration): Parameter
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.
- configParams
optionally, some parameters that differ from the provided
c
- returns
a fully-set-up Configuration.Parameter object, ready to evaluate properties with.
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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. - 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). - 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. - final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- 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.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- 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. - object PropertyCheckConfiguration extends Serializable
Internal utility functions for configuration management.