Object/Trait

org.scalatest.prop

GeneratorDrivenPropertyChecks

Related Docs: trait GeneratorDrivenPropertyChecks | package prop

Permalink

object GeneratorDrivenPropertyChecks extends GeneratorDrivenPropertyChecks

Source
GeneratorDrivenPropertyChecks.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. GeneratorDrivenPropertyChecks
  2. GeneratorDrivenPropertyChecks
  3. Configuration
  4. Whenever
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. class ConfiguredPropertyCheck extends AnyRef

    Permalink

    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 the PropertyGenConfig object passed implicitly to its apply 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 the PropertyGenConfig object passed implicitly to its apply 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 of PropertyCheckConfigParam 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
  2. case class MaxDiscardedFactor(value: PosZDouble) extends PropertyCheckConfigParam with Product with Serializable

    Permalink
    Definition Classes
    Configuration
  3. case class MinSize(value: PosZInt) extends PropertyCheckConfigParam with Product with Serializable

    Permalink

    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 specified value is less than zero.

  4. case class MinSuccessful(value: PosInt) extends PropertyCheckConfigParam with Product with Serializable

    Permalink

    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
  5. sealed abstract class PropertyCheckConfigParam extends AnyRef

    Permalink

    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).

    Definition Classes
    Configuration
  6. 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

    Permalink
    Definition Classes
    Configuration
  7. case class SizeRange(value: PosZInt) extends PropertyCheckConfigParam with Product with Serializable

    Permalink

    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
  8. case class Workers(value: PosInt) extends PropertyCheckConfigParam with Product with Serializable

    Permalink

    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 specified value is less than or equal to zero.

  9. case class MaxDiscarded(value: Int) extends PropertyCheckConfigParam with Product with Serializable

    Permalink

    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 throws DiscardedEvaluationException, 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 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, 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 specified value is less than zero.

  10. case class MaxSize(value: Int) extends PropertyCheckConfigParam with Product with Serializable

    Permalink

    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 the forAll methods of traits PropertyChecks and Checkers. 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 specified value is less than zero.

  11. case class PropertyCheckConfig(minSuccessful: Int = 10, maxDiscarded: Int = 500, minSize: Int = 0, maxSize: Int = 100, workers: Int = 1) extends PropertyCheckConfigurable with Product with Serializable

    Permalink

    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 specified minSuccessful value is less than or equal to zero, the specified maxDiscarded value is less than zero, the specified minSize value is less than zero, the specified maxSize value is less than zero, the specified minSize is greater than the specified or default value of maxSize, or the specified workers value is less than or equal to zero.

  12. trait PropertyCheckConfigurable extends AnyRef

    Permalink
    Definition Classes
    Configuration
    Annotations
    @deprecated
    Deprecated

    Use PropertyCheckConfiguration directly instead.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. implicit def PropertyCheckConfig2PropertyCheckConfiguration(p: PropertyCheckConfig): PropertyCheckConfiguration

    Permalink

    Implicitly converts PropertyCheckConfigs to PropertyCheckConfiguration, which enables a smoother upgrade path.

    Implicitly converts PropertyCheckConfigs to PropertyCheckConfiguration, which enables a smoother upgrade path.

    Definition Classes
    Configuration
  5. object PropertyCheckConfiguration extends Serializable

    Permalink
    Definition Classes
    Configuration
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. def forAll[A, B, C, D, E, F](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]): Assertion

    Permalink

    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
  12. def forAll[A, B, C, D, E, F](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]): Assertion

    Permalink

    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
  13. def forAll[A, B, C, D, E, F](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]): Assertion

    Permalink

    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
  14. def forAll[A, B, C, D, E, F](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]): Assertion

    Permalink

    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
  15. def forAll[A, B, C, D, E](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]): Assertion

    Permalink

    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
  16. def forAll[A, B, C, D, E](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]): Assertion

    Permalink

    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
  17. def forAll[A, B, C, D, E](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]): Assertion

    Permalink

    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
  18. def forAll[A, B, C, D, E](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]): Assertion

    Permalink

    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
  19. def forAll[A, B, C, D](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]): Assertion

    Permalink

    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
  20. def forAll[A, B, C, D](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]): Assertion

    Permalink

    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
  21. def forAll[A, B, C, D](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]): Assertion

    Permalink

    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
  22. def forAll[A, B, C, D](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]): Assertion

    Permalink

    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
  23. def forAll[A, B, C](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]): Assertion

    Permalink

    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
  24. def forAll[A, B, C](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]): Assertion

    Permalink

    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
  25. def forAll[A, B, C](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]): Assertion

    Permalink

    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
  26. def forAll[A, B, C](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]): Assertion

    Permalink

    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
  27. def forAll[A, B](genAndNameA: (Gen[A], String), genAndNameB: (Gen[B], String), configParams: PropertyCheckConfigParam*)(fun: (A, B) ⇒ Assertion)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B]): Assertion

    Permalink

    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
  28. def forAll[A, B](genA: Gen[A], genB: Gen[B], configParams: PropertyCheckConfigParam*)(fun: (A, B) ⇒ Assertion)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A], shrB: Shrink[B]): Assertion

    Permalink

    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
  29. def forAll[A, B](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]): Assertion

    Permalink

    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
  30. def forAll[A, B](fun: (A, B) ⇒ Assertion)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B]): Assertion

    Permalink

    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
  31. def forAll[A](genAndNameA: (Gen[A], String), configParams: PropertyCheckConfigParam*)(fun: (A) ⇒ Assertion)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A]): Assertion

    Permalink

    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
  32. def forAll[A](genA: Gen[A], configParams: PropertyCheckConfigParam*)(fun: (A) ⇒ Assertion)(implicit config: PropertyCheckConfigurable, shrA: Shrink[A]): Assertion

    Permalink

    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
  33. def forAll[A](nameA: String, configParams: PropertyCheckConfigParam*)(fun: (A) ⇒ Assertion)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A]): Assertion

    Permalink

    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
  34. def forAll[A](fun: (A) ⇒ Assertion)(implicit config: PropertyCheckConfigurable, arbA: Arbitrary[A], shrA: Shrink[A]): Assertion

    Permalink

    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
  35. def forAll(configParams: PropertyCheckConfigParam*): ConfiguredPropertyCheck

    Permalink

    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 the PropertyCheckConfiguration implicitly passed to the apply methods of the ConfiguredPropertyCheck object returned by this method.

    Definition Classes
    GeneratorDrivenPropertyChecks
  36. implicit val generatorDrivenConfig: PropertyCheckConfiguration

    Permalink

    Implicit PropertyCheckConfig value providing default configuration values.

    Implicit PropertyCheckConfig value providing default configuration values.

    Definition Classes
    Configuration
  37. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  38. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  39. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  40. def maxDiscardedFactor(value: PosZDouble): MaxDiscardedFactor

    Permalink

    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
  41. def minSize(value: PosZInt): MinSize

    Permalink

    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
  42. def minSuccessful(value: PosInt): MinSuccessful

    Permalink

    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
  43. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  44. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  45. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  46. def sizeRange(value: PosZInt): SizeRange

    Permalink

    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
  47. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  48. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  49. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  50. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. def whenever(condition: Boolean)(fun: ⇒ Assertion): Assertion

    Permalink

    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 following Fraction 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 use whenever to discard any rows in the fraction that represent illegal arguments, like this:

    import org.scalatest.matchers.ShouldMatchers._
    
    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 means d != 0 will be false.) For those rows, whenever will throw DiscardedEvaluationException, which will cause the forAll method to discard that row.

    condition

    the boolean condition that determines whether whenever will evaluate the fun function (condition is true) or throws DiscardedEvaluationException (condition is false)

    fun

    the function to evaluate if the specified condition is true

    Definition Classes
    Whenever
  53. def workers(value: PosInt): Workers

    Permalink

    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

  1. def maxDiscarded(value: Int): MaxDiscarded

    Permalink

    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 specified value is less than zero.

  2. def maxSize(value: Int): MaxSize

    Permalink

    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 the forAll methods of traits PropertyChecks and Checkers. 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 specified value is less than zero.

Inherited from Configuration

Inherited from Whenever

Inherited from AnyRef

Inherited from Any

Ungrouped