org.scalatest.prop

PropertyChecks

trait PropertyChecks extends TableDrivenPropertyChecks with GeneratorDrivenPropertyChecks

Trait that facilitates property checks on data supplied by tables and generators.

This trait extends both TableDrivenPropertyChecks and GeneratorDrivenPropertyChecks. Thus by mixing in this trait you can perform property checks on data supplied either by tables or generators. For the details of table- and generator-driven property checks, see the documentation for each by following the links above.

For a quick example of using both table and generator-driven property checks in the same suite of tests, however, imagine you want to test this 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 }

If you mix in PropertyChecks, you could use a generator-driven property check to test that the passed values for numerator and denominator are properly normalized, like this:

forAll { (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 be === 0
f.denom should be > 0 } }

And you could use a table-driven property check to test that all combinations of invalid values passed to the Fraction constructor produce the expected IllegalArgumentException, like this:

val invalidCombos =
  Table(
    ("n",               "d"),
    (Integer.MIN_VALUE, Integer.MIN_VALUE),
    (1,                 Integer.MIN_VALUE),
    (Integer.MIN_VALUE, 1),
    (Integer.MIN_VALUE, 0),
    (1,                 0)
  )

forAll (invalidCombos) { (n: Int, d: Int) => evaluating { new Fraction(n, d) } should produce [IllegalArgumentException] }

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. PropertyChecks
  2. GeneratorDrivenPropertyChecks
  3. Configuration
  4. TableDrivenPropertyChecks
  5. Tables
  6. Whenever
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. 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 the PropertyGenConfig object passed implicitly to its apply methods with parameter values passed to its constructor.

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

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

  4. case class MinSize(value: Int) 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).

  5. case class MinSuccessful(value: Int) extends PropertyCheckConfigParam with Product with Serializable

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

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

    Configuration object for property checks.

  7. sealed abstract class PropertyCheckConfigParam extends AnyRef

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

  8. case class Workers(value: Int) extends PropertyCheckConfigParam with Product with Serializable

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

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. object Table

    Object containing one apply factory method for each TableFor<n> class.

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

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

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  12. 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) ⇒ Unit)(implicit config: PropertyCheckConfig, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D], shrE: Shrink[E], shrF: Shrink[F]): Unit

    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
  13. 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) ⇒ Unit)(implicit config: PropertyCheckConfig, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D], shrE: Shrink[E], shrF: Shrink[F]): Unit

    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
  14. 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) ⇒ Unit)(implicit config: PropertyCheckConfig, 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]): Unit

    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
  15. def forAll[A, B, C, D, E, F](fun: (A, B, C, D, E, F) ⇒ Unit)(implicit config: PropertyCheckConfig, 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]): Unit

    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
  16. 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) ⇒ Unit)(implicit config: PropertyCheckConfig, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D], shrE: Shrink[E]): Unit

    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
  17. 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) ⇒ Unit)(implicit config: PropertyCheckConfig, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D], shrE: Shrink[E]): Unit

    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
  18. 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) ⇒ Unit)(implicit config: PropertyCheckConfig, 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]): Unit

    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
  19. def forAll[A, B, C, D, E](fun: (A, B, C, D, E) ⇒ Unit)(implicit config: PropertyCheckConfig, 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]): Unit

    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
  20. 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) ⇒ Unit)(implicit config: PropertyCheckConfig, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D]): Unit

    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
  21. 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) ⇒ Unit)(implicit config: PropertyCheckConfig, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C], shrD: Shrink[D]): Unit

    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
  22. def forAll[A, B, C, D](nameA: String, nameB: String, nameC: String, nameD: String, configParams: PropertyCheckConfigParam*)(fun: (A, B, C, D) ⇒ Unit)(implicit config: PropertyCheckConfig, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C], arbD: Arbitrary[D], shrD: Shrink[D]): Unit

    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
  23. def forAll[A, B, C, D](fun: (A, B, C, D) ⇒ Unit)(implicit config: PropertyCheckConfig, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C], arbD: Arbitrary[D], shrD: Shrink[D]): Unit

    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
  24. def forAll[A, B, C](genAndNameA: (Gen[A], String), genAndNameB: (Gen[B], String), genAndNameC: (Gen[C], String), configParams: PropertyCheckConfigParam*)(fun: (A, B, C) ⇒ Unit)(implicit config: PropertyCheckConfig, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C]): Unit

    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
  25. def forAll[A, B, C](genA: Gen[A], genB: Gen[B], genC: Gen[C], configParams: PropertyCheckConfigParam*)(fun: (A, B, C) ⇒ Unit)(implicit config: PropertyCheckConfig, shrA: Shrink[A], shrB: Shrink[B], shrC: Shrink[C]): Unit

    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
  26. def forAll[A, B, C](nameA: String, nameB: String, nameC: String, configParams: PropertyCheckConfigParam*)(fun: (A, B, C) ⇒ Unit)(implicit config: PropertyCheckConfig, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C]): Unit

    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
  27. def forAll[A, B, C](fun: (A, B, C) ⇒ Unit)(implicit config: PropertyCheckConfig, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B], arbC: Arbitrary[C], shrC: Shrink[C]): Unit

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

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

    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
  30. def forAll[A, B](nameA: String, nameB: String, configParams: PropertyCheckConfigParam*)(fun: (A, B) ⇒ Unit)(implicit config: PropertyCheckConfig, arbA: Arbitrary[A], shrA: Shrink[A], arbB: Arbitrary[B], shrB: Shrink[B]): Unit

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

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

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

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

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

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

    Definition Classes
    GeneratorDrivenPropertyChecks
  37. def forAll[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V](table: TableFor22[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor22.

    Performs a property check by applying the specified property check function to each row of the specified TableFor22.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  38. def forAll[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U](table: TableFor21[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor21.

    Performs a property check by applying the specified property check function to each row of the specified TableFor21.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  39. def forAll[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T](table: TableFor20[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor20.

    Performs a property check by applying the specified property check function to each row of the specified TableFor20.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  40. def forAll[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S](table: TableFor19[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor19.

    Performs a property check by applying the specified property check function to each row of the specified TableFor19.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  41. def forAll[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R](table: TableFor18[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor18.

    Performs a property check by applying the specified property check function to each row of the specified TableFor18.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  42. def forAll[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q](table: TableFor17[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor17.

    Performs a property check by applying the specified property check function to each row of the specified TableFor17.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  43. def forAll[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P](table: TableFor16[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor16.

    Performs a property check by applying the specified property check function to each row of the specified TableFor16.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  44. def forAll[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O](table: TableFor15[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor15.

    Performs a property check by applying the specified property check function to each row of the specified TableFor15.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  45. def forAll[A, B, C, D, E, F, G, H, I, J, K, L, M, N](table: TableFor14[A, B, C, D, E, F, G, H, I, J, K, L, M, N])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M, N) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor14.

    Performs a property check by applying the specified property check function to each row of the specified TableFor14.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  46. def forAll[A, B, C, D, E, F, G, H, I, J, K, L, M](table: TableFor13[A, B, C, D, E, F, G, H, I, J, K, L, M])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor13.

    Performs a property check by applying the specified property check function to each row of the specified TableFor13.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  47. def forAll[A, B, C, D, E, F, G, H, I, J, K, L](table: TableFor12[A, B, C, D, E, F, G, H, I, J, K, L])(fun: (A, B, C, D, E, F, G, H, I, J, K, L) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor12.

    Performs a property check by applying the specified property check function to each row of the specified TableFor12.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  48. def forAll[A, B, C, D, E, F, G, H, I, J, K](table: TableFor11[A, B, C, D, E, F, G, H, I, J, K])(fun: (A, B, C, D, E, F, G, H, I, J, K) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor11.

    Performs a property check by applying the specified property check function to each row of the specified TableFor11.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  49. def forAll[A, B, C, D, E, F, G, H, I, J](table: TableFor10[A, B, C, D, E, F, G, H, I, J])(fun: (A, B, C, D, E, F, G, H, I, J) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor10.

    Performs a property check by applying the specified property check function to each row of the specified TableFor10.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  50. def forAll[A, B, C, D, E, F, G, H, I](table: TableFor9[A, B, C, D, E, F, G, H, I])(fun: (A, B, C, D, E, F, G, H, I) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor9.

    Performs a property check by applying the specified property check function to each row of the specified TableFor9.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  51. def forAll[A, B, C, D, E, F, G, H](table: TableFor8[A, B, C, D, E, F, G, H])(fun: (A, B, C, D, E, F, G, H) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor8.

    Performs a property check by applying the specified property check function to each row of the specified TableFor8.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  52. def forAll[A, B, C, D, E, F, G](table: TableFor7[A, B, C, D, E, F, G])(fun: (A, B, C, D, E, F, G) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor7.

    Performs a property check by applying the specified property check function to each row of the specified TableFor7.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  53. def forAll[A, B, C, D, E, F](table: TableFor6[A, B, C, D, E, F])(fun: (A, B, C, D, E, F) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor6.

    Performs a property check by applying the specified property check function to each row of the specified TableFor6.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  54. def forAll[A, B, C, D, E](table: TableFor5[A, B, C, D, E])(fun: (A, B, C, D, E) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor5.

    Performs a property check by applying the specified property check function to each row of the specified TableFor5.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  55. def forAll[A, B, C, D](table: TableFor4[A, B, C, D])(fun: (A, B, C, D) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor4.

    Performs a property check by applying the specified property check function to each row of the specified TableFor4.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  56. def forAll[A, B, C](table: TableFor3[A, B, C])(fun: (A, B, C) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor3.

    Performs a property check by applying the specified property check function to each row of the specified TableFor3.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  57. def forAll[A, B](table: TableFor2[A, B])(fun: (A, B) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor2.

    Performs a property check by applying the specified property check function to each row of the specified TableFor2.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  58. def forAll[A](table: TableFor1[A])(fun: (A) ⇒ Unit): Unit

    Performs a property check by applying the specified property check function to each row of the specified TableFor1.

    Performs a property check by applying the specified property check function to each row of the specified TableFor1.

    table

    the table of data with which to perform the property check

    fun

    the property check function to apply to each row of data in the table

    Definition Classes
    TableDrivenPropertyChecks
  59. implicit val generatorDrivenConfig: PropertyCheckConfig

    Implicit PropertyCheckConfig value providing default configuration values.

    Implicit PropertyCheckConfig value providing default configuration values.

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

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

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

    Definition Classes
    Any
  63. 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
    Exceptions thrown
    IllegalArgumentException

    if specified value is less than zero.

  64. 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 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
    Exceptions thrown
    IllegalArgumentException

    if specified value is less than zero.

  65. def minSize(value: Int): 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
    Exceptions thrown
    IllegalArgumentException

    if specified value is less than zero.

  66. def minSuccessful(value: Int): 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
    Exceptions thrown
    IllegalArgumentException

    if specified value is less than or equal to zero.

  67. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  68. final def notify(): Unit

    Definition Classes
    AnyRef
  69. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  70. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  71. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  75. def whenever(condition: Boolean)(fun: ⇒ Unit): Unit

    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 be === 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
  76. def workers(value: Int): 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
    Exceptions thrown
    IllegalArgumentException

    if specified value is less than or equal to zero.

Inherited from Configuration

Inherited from TableDrivenPropertyChecks

Inherited from Tables

Inherited from Whenever

Inherited from AnyRef

Inherited from Any

Ungrouped