object GeneratorDrivenPropertyChecks extends GeneratorDrivenPropertyChecks
- Alphabetic
- By Inheritance
- GeneratorDrivenPropertyChecks
- GeneratorDrivenPropertyChecks
- Configuration
- Whenever
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
case class
MaxDiscardedFactor
(value: PosZDouble) extends PropertyCheckConfigParam with Product with Serializable
- Definition Classes
- Configuration
-
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).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).- Definition Classes
- Configuration
- Exceptions thrown
IllegalArgumentException
if specifiedvalue
is less than zero.
-
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.- Definition Classes
- 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 traitsPropertyChecks
(for ScalaTest-style property checks) andCheckers
(for ScalaCheck-style property checks).- Definition Classes
- Configuration
-
case class
PropertyCheckConfiguration
(minSuccessful: PosInt = PosInt(10), maxDiscardedFactor: PosZDouble = PosZDouble(5.0), minSize: PosZInt = PosZInt(0), sizeRange: PosZInt = PosZInt(100), workers: PosInt = PosInt(1)) extends PropertyCheckConfigurable with Product with Serializable
- Definition Classes
- Configuration
-
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.
- Definition Classes
- Configuration
-
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.- Definition Classes
- Configuration
- Exceptions thrown
IllegalArgumentException
if specifiedvalue
is less than or equal to zero.
-
class
ConfiguredPropertyCheck
extends AnyRef
Performs a configured property checks by applying property check functions passed to its
apply
methods to arguments supplied by implicitly passed generators, modifying the values in thePropertyGenConfig
object passed implicitly to itsapply
methods with parameter values passed to its constructor.Performs a configured property checks by applying property check functions passed to its
apply
methods to arguments supplied by implicitly passed generators, modifying the values in thePropertyGenConfig
object passed implicitly to itsapply
methods with parameter values passed to its constructor.Instances of this class are returned by trait
GeneratorDrivenPropertyChecks
forAll
method that accepts a variable length argument list ofPropertyCheckConfigParam
objects. Thus it is used with functions of all six arities. Here are some examples:forAll (minSize(1), maxSize(10)) { (a: String) => a.length should equal ((a).length) } forAll (minSize(1), maxSize(10)) { (a: String, b: String) => a.length + b.length should equal ((a + b).length) } forAll (minSize(1), maxSize(10)) { (a: String, b: String, c: String) => a.length + b.length + c.length should equal ((a + b + c).length) } forAll (minSize(1), maxSize(10)) { (a: String, b: String, c: String, d: String) => a.length + b.length + c.length + d.length should equal ((a + b + c + d).length) } forAll (minSize(1), maxSize(10)) { (a: String, b: String, c: String, d: String, e: String) => a.length + b.length + c.length + d.length + e.length should equal ((a + b + c + d + e).length) } forAll (minSize(1), maxSize(10)) { (a: String, b: String, c: String, d: String, e: String, f: String) => a.length + b.length + c.length + d.length + e.length + f.length should equal ((a + b + c + d + e + f).length) }
In the first example above, the
ConfiguredPropertyCheck
object is returned by:forAll (minSize(1), maxSize(10))
The code that follows is an invocation of one of the
ConfiguredPropertyCheck
apply
methods:{ (a: String) => a.length should equal ((a).length) }
- Definition Classes
- GeneratorDrivenPropertyChecks
-
case class
MaxDiscarded
(value: Int) extends PropertyCheckConfigParam with Product with Serializable
A
PropertyCheckConfigParam
that specifies the maximum number of discarded property evaluations allowed during property evaluation.A
PropertyCheckConfigParam
that specifies the maximum number of discarded property evaluations allowed during property evaluation.In
GeneratorDrivenPropertyChecks
, a property evaluation is discarded if it throwsDiscardedEvaluationException
, which is produce bywhenever
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,
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.- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
- Exceptions thrown
IllegalArgumentException
if specifiedvalue
is less than zero.
-
case class
MaxSize
(value: Int) extends PropertyCheckConfigParam with Product with Serializable
A
PropertyCheckConfigParam
that 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 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 maximum size should be greater than or equal to the minimum size. This requirement is enforced by the
PropertyCheckConfig
constructor and theforAll
methods of traitsPropertyChecks
andCheckers
. In other words, it is enforced at the point both a maximum and minimum size are provided together.- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
use SizeRange instead
- Exceptions thrown
IllegalArgumentException
if specifiedvalue
is less than zero.
-
case class
PropertyCheckConfig
(minSuccessful: Int = 10, maxDiscarded: Int = 500, minSize: Int = 0, maxSize: Int = 100, workers: Int = 1) extends PropertyCheckConfigurable with Product with Serializable
Configuration object for property checks.
Configuration object for property checks.
The default values for the parameters are:
minSuccessful 100 maxDiscarded 500 minSize 0 maxSize 100 workers 1 - minSuccessful
the minimum number of successful property evaluations required for the property to pass.
- maxDiscarded
the maximum number of discarded property evaluations allowed during a property check
- 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).
- maxSize
the maximum size parameter to provide to ScalaCheck, which it will use when generating objects for which size matters (such as strings or lists).
- workers
specifies the number of worker threads to use during property evaluation
- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
Use PropertyCheckConfiguration instead
- Exceptions thrown
IllegalArgumentException
if the specifiedminSuccessful
value is less than or equal to zero, the specifiedmaxDiscarded
value is less than zero, the specifiedminSize
value is less than zero, the specifiedmaxSize
value is less than zero, the specifiedminSize
is greater than the specified or default value ofmaxSize
, or the specifiedworkers
value is less than or equal to zero.
-
trait
PropertyCheckConfigurable
extends AnyRef
- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
Use PropertyCheckConfiguration directly instead.
Value Members
-
object
PropertyCheckConfiguration
extends Serializable
- Definition Classes
- Configuration
-
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
-
implicit
def
PropertyCheckConfig2PropertyCheckConfiguration(p: PropertyCheckConfig): PropertyCheckConfiguration
Implicitly converts
PropertyCheckConfig
s toPropertyCheckConfiguration
, which enables a smoother upgrade path.Implicitly converts
PropertyCheckConfig
s toPropertyCheckConfiguration
, which enables a smoother upgrade path.- Definition Classes
- Configuration
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
forAll[A, B, C, D, E, F, ASSERTION](genAndNameA: (Gen[A], String), genAndNameB: (Gen[B], String), genAndNameC: (Gen[C], String), genAndNameD: (Gen[D], String), genAndNameE: (Gen[E], String), genAndNameF: (Gen[F], String), configParams: PropertyCheckConfigParam*)(fun: (A, B, C, D, E, F) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D], shrE: Shrink[E], shrF: Shrink[F], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll ((famousLastWords, "a"), (famousLastWords, "b"), (famousLastWords, "c"), (famousLastWords, "d"), (famousLastWords, "e"), (famousLastWords, "f")) { (a: String, b: String, c: String, d: String, e: String, f: String) => a.length + b.length + c.length + d.length + e.length + f.length should equal ((a + b + c + d + e + f).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, D, E, F, ASSERTION](genA: Gen[A], genB: Gen[B], genC: Gen[C], genD: Gen[D], genE: Gen[E], genF: Gen[F], configParams: PropertyCheckConfigParam*)(fun: (A, B, C, D, E, F) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D], shrE: Shrink[E], shrF: Shrink[F], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll (famousLastWords, famousLastWords, famousLastWords, famousLastWords, famousLastWords, famousLastWords) { (a: String, b: String, c: String, d: String, e: String, f: String) => a.length + b.length + c.length + d.length + e.length + f.length should equal ((a + b + c + d + e + f).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, D, E, F, ASSERTION](nameA: String, nameB: String, nameC: String, nameD: String, nameE: String, nameF: String, configParams: PropertyCheckConfigParam*)(fun: (A, B, C, D, E, F) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C], arbD: Arbitrary[D], shrD: Shrink[D], arbE: Arbitrary[E], shrE: Shrink[E], arbF: Arbitrary[F], shrF: Shrink[F], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Here's an example:
forAll ("a", "b", "c", "d", "e", "f") { (a: String, b: String, c: String, d: String, e: String, f: String) => a.length + b.length + c.length + d.length + e.length + f.length should equal ((a + b + c + d + e + f).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, D, E, F, ASSERTION](fun: (A, B, C, D, E, F) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C], arbD: Arbitrary[D], shrD: Shrink[D], arbE: Arbitrary[E], shrE: Shrink[E], arbF: Arbitrary[F], shrF: Shrink[F], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Here's an example:
forAll { (a: String, b: String, c: String, d: String, e: String, f: String) => a.length + b.length + c.length + d.length + e.length + f.length should equal ((a + b + c + d + e + f).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, D, E, ASSERTION](genAndNameA: (Gen[A], String), genAndNameB: (Gen[B], String), genAndNameC: (Gen[C], String), genAndNameD: (Gen[D], String), genAndNameE: (Gen[E], String), configParams: PropertyCheckConfigParam*)(fun: (A, B, C, D, E) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D], shrE: Shrink[E], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll ((famousLastWords, "a"), (famousLastWords, "b"), (famousLastWords, "c"), (famousLastWords, "d"), (famousLastWords, "e")) { (a: String, b: String, c: String, d: String, e: String) => a.length + b.length + c.length + d.length + e.length should equal ((a + b + c + d + e).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, D, E, ASSERTION](genA: Gen[A], genB: Gen[B], genC: Gen[C], genD: Gen[D], genE: Gen[E], configParams: PropertyCheckConfigParam*)(fun: (A, B, C, D, E) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D], shrE: Shrink[E], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll (famousLastWords, famousLastWords, famousLastWords, famousLastWords, famousLastWords) { (a: String, b: String, c: String, d: String, e: String) => a.length + b.length + c.length + d.length + e.length should equal ((a + b + c + d + e).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, D, E, ASSERTION](nameA: String, nameB: String, nameC: String, nameD: String, nameE: String, configParams: PropertyCheckConfigParam*)(fun: (A, B, C, D, E) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C], arbD: Arbitrary[D], shrD: Shrink[D], arbE: Arbitrary[E], shrE: Shrink[E], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Here's an example:
forAll ("a", "b", "c", "d", "e") { (a: String, b: String, c: String, d: String, e: String) => a.length + b.length + c.length + d.length + e.length should equal ((a + b + c + d + e).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, D, E, ASSERTION](fun: (A, B, C, D, E) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C], arbD: Arbitrary[D], shrD: Shrink[D], arbE: Arbitrary[E], shrE: Shrink[E], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Here's an example:
forAll { (a: String, b: String, c: String, d: String, e: String) => a.length + b.length + c.length + d.length + e.length should equal ((a + b + c + d + e).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, D, ASSERTION](genAndNameA: (Gen[A], String), genAndNameB: (Gen[B], String), genAndNameC: (Gen[C], String), genAndNameD: (Gen[D], String), configParams: PropertyCheckConfigParam*)(fun: (A, B, C, D) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll ((famousLastWords, "a"), (famousLastWords, "b"), (famousLastWords, "c"), (famousLastWords, "d")) { (a: String, b: String, c: String, d: String) => a.length + b.length + c.length + d.length should equal ((a + b + c + d).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, D, ASSERTION](genA: Gen[A], genB: Gen[B], genC: Gen[C], genD: Gen[D], configParams: PropertyCheckConfigParam*)(fun: (A, B, C, D) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll (famousLastWords, famousLastWords, famousLastWords, famousLastWords) { (a: String, b: String, c: String, d: String) => a.length + b.length + c.length + d.length should equal ((a + b + c + d).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, D, ASSERTION](nameA: String, nameB: String, nameC: String, nameD: String, configParams: PropertyCheckConfigParam*)(fun: (A, B, C, D) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C], arbD: Arbitrary[D], shrD: Shrink[D], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Here's an example:
forAll ("a", "b", "c", "d") { (a: String, b: String, c: String, d: String) => a.length + b.length + c.length + d.length should equal ((a + b + c + d).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, D, ASSERTION](fun: (A, B, C, D) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C], arbD: Arbitrary[D], shrD: Shrink[D], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Here's an example:
forAll { (a: String, b: String, c: String, d: String) => a.length + b.length + c.length + d.length should equal ((a + b + c + d).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, ASSERTION](genAndNameA: (Gen[A], String), genAndNameB: (Gen[B], String), genAndNameC: (Gen[C], String), configParams: PropertyCheckConfigParam*)(fun: (A, B, C) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll ((famousLastWords, "a"), (famousLastWords, "b"), (famousLastWords, "c")) { (a: String, b: String, c: String) => a.length + b.length + c.length should equal ((a + b + c).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, ASSERTION](genA: Gen[A], genB: Gen[B], genC: Gen[C], configParams: PropertyCheckConfigParam*)(fun: (A, B, C) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll (famousLastWords, famousLastWords, famousLastWords) { (a: String, b: String, c: String) => a.length + b.length + c.length should equal ((a + b + c).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, ASSERTION](nameA: String, nameB: String, nameC: String, configParams: PropertyCheckConfigParam*)(fun: (A, B, C) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Here's an example:
forAll ("a", "b", "c") { (a: String, b: String, c: String) => a.length + b.length + c.length should equal ((a + b + c).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, C, ASSERTION](fun: (A, B, C) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Here's an example:
forAll { (a: String, b: String, c: String) => a.length + b.length + c.length should equal ((a + b + c).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, ASSERTION](genAndNameA: (Gen[A], String), genAndNameB: (Gen[B], String), configParams: PropertyCheckConfigParam*)(fun: (A, B) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll ((famousLastWords, "a"), (famousLastWords, "b")) { (a: String, b: String) => a.length + b.length should equal ((a + b).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, ASSERTION](genA: Gen[A], genB: Gen[B], configParams: PropertyCheckConfigParam*)(fun: (A, B) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll (famousLastWords, famousLastWords) { (a: String, b: String) => a.length + b.length should equal ((a + b).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, ASSERTION](nameA: String, nameB: String, configParams: PropertyCheckConfigParam*)(fun: (A, B) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Here's an example:
forAll ("a", "b") { (a: String, b: String) => a.length + b.length should equal ((a + b).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, B, ASSERTION](fun: (A, B) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Here's an example:
forAll { (a: String, b: String) => a.length + b.length should equal ((a + b).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, ASSERTION](genAndNameA: (Gen[A], String), configParams: PropertyCheckConfigParam*)(fun: (A) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to named arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll ((famousLastWords, "a")) { (a: String) => a.length should equal ((a).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, ASSERTION](genA: Gen[A], configParams: PropertyCheckConfigParam*)(fun: (A) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Performs a property check by applying the specified property check function to arguments supplied by the specified generators.
Here's an example:
import org.scalacheck.Gen // Define your own string generator: val famousLastWords = for { s <- Gen.oneOf("the", "program", "compiles", "therefore", "it", "should", "work") } yield s forAll (famousLastWords) { (a: String) => a.length should equal ((a).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, ASSERTION](nameA: String, configParams: PropertyCheckConfigParam*)(fun: (A) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function with the specified argument names to arguments supplied by implicitly passed generators.
Here's an example:
forAll ("a") { (a: String) => a.length should equal ((a).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll[A, ASSERTION](fun: (A) ⇒ ASSERTION)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators.
Here's an example:
forAll { (a: String) => a.length should equal ((a).length) }
- fun
the property check function to apply to the generated arguments
- Definition Classes
- GeneratorDrivenPropertyChecks
-
def
forAll(configParams: PropertyCheckConfigParam*): ConfiguredPropertyCheck
Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators, modifying the values in the implicitly passed
PropertyGenConfig
object with explicitly passed parameter values.Performs a property check by applying the specified property check function to arguments supplied by implicitly passed generators, modifying the values in the implicitly passed
PropertyGenConfig
object with explicitly passed parameter values.This method creates a
ConfiguredPropertyCheck
object that has six overloaded apply methods that take a function. Thus it is used with functions of all six arities. Here are some examples:forAll (minSize(1), maxSize(10)) { (a: String) => a.length should equal ((a).length) } forAll (minSize(1), maxSize(10)) { (a: String, b: String) => a.length + b.length should equal ((a + b).length) } forAll (minSize(1), maxSize(10)) { (a: String, b: String, c: String) => a.length + b.length + c.length should equal ((a + b + c).length) } forAll (minSize(1), maxSize(10)) { (a: String, b: String, c: String, d: String) => a.length + b.length + c.length + d.length should equal ((a + b + c + d).length) } forAll (minSize(1), maxSize(10)) { (a: String, b: String, c: String, d: String, e: String) => a.length + b.length + c.length + d.length + e.length should equal ((a + b + c + d + e).length) } forAll (minSize(1), maxSize(10)) { (a: String, b: String, c: String, d: String, e: String, f: String) => a.length + b.length + c.length + d.length + e.length + f.length should equal ((a + b + c + d + e + f).length) }
- configParams
a variable length list of
PropertyCheckConfigParam
objects that should override corresponding values in thePropertyCheckConfiguration
implicitly passed to theapply
methods of theConfiguredPropertyCheck
object returned by this method.
- Definition Classes
- GeneratorDrivenPropertyChecks
-
implicit
val
generatorDrivenConfig: PropertyCheckConfiguration
Implicit
PropertyCheckConfig
value providing default configuration values.Implicit
PropertyCheckConfig
value providing default configuration values.- Definition Classes
- Configuration
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
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.Returns a
MaxDiscardedFactor
property check configuration parameter containing the passed value, which specifies the factor of discarded property evaluations allowed during property evaluation.- Definition Classes
- 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).- Definition Classes
- 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.- Definition Classes
- Configuration
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
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.
- Definition Classes
- Configuration
-
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
whenever[T](condition: Boolean)(fun: ⇒ T)(implicit wa: WheneverAsserting[T]): Result
Evaluates the passed code block if the passed boolean condition is true, else throws
DiscardedEvaluationException
.Evaluates the passed code block if the passed boolean condition is true, else throws
DiscardedEvaluationException
.The
whenever
method can be used inside property check functions to discard invocations of the function with data for which it is known the property would fail. For example, given the followingFraction
class:class Fraction(n: Int, d: Int) { require(d != 0) require(d != Integer.MIN_VALUE) require(n != Integer.MIN_VALUE) val numer = if (d < 0) -1 * n else n val denom = d.abs override def toString = numer + " / " + denom }
import org.scalatest.prop.TableDrivenPropertyChecks._ val fractions = Table( ("n", "d"), ( 1, 2), ( -1, 2), ( 1, -2), ( -1, -2), ( 3, 1), ( -3, 1), ( -3, 0), ( 3, -1), ( 3, Integer.MIN_VALUE), (Integer.MIN_VALUE, 3), ( -3, -1) )
Imagine you wanted to check a property against this class with data that includes some value that are rejected by the constructor, such as a denominator of zero, which should result in an
IllegalArgumentException
. You could usewhenever
to discard any rows in thefraction
that represent illegal arguments, like this:import org.scalatest.matchers.Matchers._ forAll (fractions) { (n: Int, d: Int) => whenever (d != 0 && d != Integer.MIN_VALUE && n != Integer.MIN_VALUE) { val f = new Fraction(n, d) if (n < 0 && d < 0 || n > 0 && d > 0) f.numer should be > 0 else if (n != 0) f.numer should be < 0 else f.numer should === (0) f.denom should be > 0 } }
In this example, rows 6, 8, and 9 have values that would cause a false to be passed to
whenever
. (For example, in row 6,d
is 0, which meansd
!=
0
will be false.) For those rows,whenever
will throwDiscardedEvaluationException
, which will cause theforAll
method to discard that row.- condition
the boolean condition that determines whether
whenever
will evaluate thefun
function (condition
is true) or throwsDiscardedEvaluationException
(condition
is false)- fun
the function to evaluate if the specified
condition
is true
- Definition Classes
- Whenever
-
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.- Definition Classes
- Configuration
Deprecated Value Members
-
def
maxDiscarded(value: Int): MaxDiscarded
Returns a
MaxDiscarded
property check configuration parameter containing the passed value, which specifies the maximum number of discarded property evaluations allowed during property evaluation.Returns a
MaxDiscarded
property check configuration parameter containing the passed value, which specifies the maximum number of discarded property evaluations allowed during property evaluation.- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
use maxDiscardedFactor instead
- Exceptions thrown
IllegalArgumentException
if specifiedvalue
is less than zero.
-
def
maxSize(value: Int): MaxSize
Returns a
MaxSize
property check configuration parameter containing the passed value, which 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
MaxSize
property check configuration parameter containing the passed value, which 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 maximum size should be greater than or equal to the minimum size. This requirement is enforced by the
PropertyCheckConfig
constructor and theforAll
methods of traitsPropertyChecks
andCheckers
. In other words, it is enforced at the point both a maximum and minimum size are provided together.- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
use SizeRange instead
- Exceptions thrown
IllegalArgumentException
if specifiedvalue
is less than zero.