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. Hide All
  2. Show all
  1. PropertyChecks
  2. GeneratorDrivenPropertyChecks
  3. Configuration
  4. TableDrivenPropertyChecks
  5. Tables
  6. Whenever
  7. AnyRef
  8. Any
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, maxDiscarded: Int, minSize: Int, maxSize: Int, workers: Int) extends Product with Serializable

    Configuration object for property checks.

  7. 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. def != (arg0: AnyRef): Boolean

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

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

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

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

    Attributes
    final
    Definition Classes
    Any
  6. object MaxDiscarded extends AbstractFunction1[Int, MaxDiscarded] with Serializable

  7. object MaxSize extends AbstractFunction1[Int, MaxSize] with Serializable

  8. object MinSize extends AbstractFunction1[Int, MinSize] with Serializable

  9. object MinSuccessful extends AbstractFunction1[Int, MinSuccessful] with Serializable

  10. object PropertyCheckConfig extends AbstractFunction5[Int, Int, Int, Int, Int, PropertyCheckConfig] with Serializable

  11. object Table extends AnyRef

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

  12. object Workers extends AbstractFunction1[Int, Workers] with Serializable

  13. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  14. def clone (): AnyRef

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

    Attributes
    final
    Definition Classes
    AnyRef
  16. def equals (arg0: Any): Boolean

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

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. implicit val generatorDrivenConfig : PropertyCheckConfig

    Implicit PropertyCheckConfig value providing default configuration values.

    Implicit PropertyCheckConfig value providing default configuration values.

    Attributes
    implicit
    Definition Classes
    Configuration
  66. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef
  67. def hashCode (): Int

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

    Attributes
    final
    Definition Classes
    Any
  69. 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
  70. 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
  71. 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
  72. 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
  73. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  74. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  75. def notifyAll (): Unit

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

    Attributes
    final
    Definition Classes
    AnyRef
  77. def toString (): String

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

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

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

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  81. 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
  82. 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

Inherited from GeneratorDrivenPropertyChecks

Inherited from Configuration

Inherited from TableDrivenPropertyChecks

Inherited from Tables

Inherited from Whenever

Inherited from AnyRef

Inherited from Any