Performs a configured property checks by applying property check functions passed to its apply methods to arguments
supplied by implicitly passed generators, modifying the values in the
PropertyGenConfig object passed implicitly to its apply methods with parameter values passed to its constructor.
Performs a 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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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)
}
the property check function to apply to the generated arguments
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), sizeRange(9)) { (a: String) =>
a.length should equal ((a).length)
}
forAll (minSize(1), sizeRange(9)) { (a: String, b: String) =>
a.length + b.length should equal ((a + b).length)
}
forAll (minSize(1), sizeRange(9)) { (a: String, b: String, c: String) =>
a.length + b.length + c.length should equal ((a + b + c).length)
}
forAll (minSize(1), sizeRange(9)) { (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), sizeRange(9)) { (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), sizeRange(9)) { (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)
}
a variable length list of PropertyCheckConfigParam objects that should override corresponding
values in the PropertyCheckConfiguration implicitly passed to the apply methods of the ConfiguredPropertyCheck
object returned by this method.
Trait that facilitates property checks on data supplied by tables and ScalaCheck generators.
This trait extends both
TableDrivenPropertyChecksandScalaCheckDrivenPropertyChecks. 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
Fractionclass: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 shouldEqual 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
Fractionconstructor produce the expectedIllegalArgumentException, 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) => an [IllegalArgumentException] should be thrownBy { new Fraction(n, d) } }