Type Members
-
case class
ApplicableArbitrary[T](a: Arbitrary[T]) extends Product with Serializable
-
case class
ApplicableArbitrary2[T1, T2](a1: Arbitrary[T1], a2: Arbitrary[T2]) extends Product with Serializable
-
case class
ApplicableArbitrary3[T1, T2, T3](a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3]) extends Product with Serializable
-
case class
ApplicableArbitrary4[T1, T2, T3, T4](a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4]) extends Product with Serializable
-
case class
ApplicableArbitrary5[T1, T2, T3, T4, T5](a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5]) extends Product with Serializable
-
case class
ApplicableArbitrary6[T1, T2, T3, T4, T5, T6](a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5], a6: Arbitrary[T6]) extends Product with Serializable
-
case class
ApplicableArbitrary7[T1, T2, T3, T4, T5, T6, T7](a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5], a6: Arbitrary[T6], a7: Arbitrary[T7]) extends Product with Serializable
-
case class
ApplicableArbitrary8[T1, T2, T3, T4, T5, T6, T7, T8](a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5], a6: Arbitrary[T6], a7: Arbitrary[T7], a8: Arbitrary[T8]) extends Product with Serializable
-
-
-
-
-
class
FunctionForAll3[T1, T2, T3] extends AnyRef
-
class
ResultLogicalCombinator extends AnyRef
-
Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
implicit
def
applicableArbitrary[T](a: Arbitrary[T]): ApplicableArbitrary[T]
-
implicit
def
applicableArbitrary2[T1, T2](a: (Arbitrary[T1], Arbitrary[T2])): ApplicableArbitrary2[T1, T2]
-
implicit
def
applicableArbitrary3[T1, T2, T3](a: (Arbitrary[T1], Arbitrary[T2], Arbitrary[T3])): ApplicableArbitrary3[T1, T2, T3]
-
implicit
def
applicableArbitrary4[T1, T2, T3, T4](a: (Arbitrary[T1], Arbitrary[T2], Arbitrary[T3], Arbitrary[T4])): ApplicableArbitrary4[T1, T2, T3, T4]
-
implicit
def
applicableArbitrary5[T1, T2, T3, T4, T5](a: (Arbitrary[T1], Arbitrary[T2], Arbitrary[T3], Arbitrary[T4], Arbitrary[T5])): ApplicableArbitrary5[T1, T2, T3, T4, T5]
-
implicit
def
applicableArbitrary6[T1, T2, T3, T4, T5, T6](a: (Arbitrary[T1], Arbitrary[T2], Arbitrary[T3], Arbitrary[T4], Arbitrary[T5], Arbitrary[T6])): ApplicableArbitrary6[T1, T2, T3, T4, T5, T6]
-
implicit
def
applicableArbitrary7[T1, T2, T3, T4, T5, T6, T7](a: (Arbitrary[T1], Arbitrary[T2], Arbitrary[T3], Arbitrary[T4], Arbitrary[T5], Arbitrary[T6], Arbitrary[T7])): ApplicableArbitrary7[T1, T2, T3, T4, T5, T6, T7]
-
implicit
def
applicableArbitrary8[T1, T2, T3, T4, T5, T6, T7, T8](a: (Arbitrary[T1], Arbitrary[T2], Arbitrary[T3], Arbitrary[T4], Arbitrary[T5], Arbitrary[T6], Arbitrary[T7], Arbitrary[T8])): ApplicableArbitrary8[T1, T2, T3, T4, T5, T6, T7, T8]
-
final
def
asInstanceOf[T0]: T0
-
implicit
def
booleanToProp(b: ⇒ Boolean): Prop
-
implicit
def
callByNameMatchResultToProp[T](m: ⇒ MatchResult[T]): Prop
-
-
def
check(prop: Prop)(implicit p: Parameters): Result
-
implicit
def
check1[T, R](result: (T) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a: Arbitrary[T], s: Shrink[T]): Prop
-
def
check1NoShrink[T, R](result: (T) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a: Arbitrary[T]): Prop
-
implicit
def
check2[T1, T2, R](result: (T1, T2) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2]): Prop
-
def
check2NoShrink[T1, T2, R](result: (T1, T2) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2]): Prop
-
implicit
def
check3[T1, T2, T3, R](result: (T1, T2, T3) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3]): Prop
-
def
check3NoShrink[T1, T2, T3, R](result: (T1, T2, T3) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3]): Prop
-
implicit
def
check4[T1, T2, T3, T4, R](result: (T1, T2, T3, T4) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4]): Prop
-
def
check4NoShrink[T1, T2, T3, T4, R](result: (T1, T2, T3, T4) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4]): Prop
-
implicit
def
check5[T1, T2, T3, T4, T5, R](result: (T1, T2, T3, T4, T5) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5]): Prop
-
def
check5NoShrink[T1, T2, T3, T4, T5, R](result: (T1, T2, T3, T4, T5) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5]): Prop
-
implicit
def
check6[T1, T2, T3, T4, T5, T6, R](result: (T1, T2, T3, T4, T5, T6) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5], a6: Arbitrary[T6], s6: Shrink[T6]): Prop
-
def
check6NoShrink[T1, T2, T3, T4, T5, T6, R](result: (T1, T2, T3, T4, T5, T6) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5], a6: Arbitrary[T6]): Prop
-
implicit
def
check7[T1, T2, T3, T4, T5, T6, T7, R](result: (T1, T2, T3, T4, T5, T6, T7) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5], a6: Arbitrary[T6], s6: Shrink[T6], a7: Arbitrary[T7], s7: Shrink[T7]): Prop
-
def
check7NoShrink[T1, T2, T3, T4, T5, T6, T7, R](result: (T1, T2, T3, T4, T5, T6, T7) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5], a6: Arbitrary[T6], a7: Arbitrary[T7]): Prop
-
implicit
def
check8[T1, T2, T3, T4, T5, T6, T7, T8, R](result: (T1, T2, T3, T4, T5, T6, T7, T8) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5], a6: Arbitrary[T6], s6: Shrink[T6], a7: Arbitrary[T7], s7: Shrink[T7], a8: Arbitrary[T8], s8: Shrink[T8]): Prop
-
def
check8NoShrink[T1, T2, T3, T4, T5, T6, T7, T8, R](result: (T1, T2, T3, T4, T5, T6, T7, T8) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5], a6: Arbitrary[T6], a7: Arbitrary[T7], a8: Arbitrary[T8]): Prop
-
-
-
implicit
def
checkPartial[T, S](f: PartialFunction[T, S])(implicit toProp: (S) ⇒ Prop, a: Arbitrary[T], s: Shrink[T]): Prop
-
implicit
def
checkPartialNoShrink[T, S](f: PartialFunction[T, S])(implicit toProp: (S) ⇒ Prop, a: Arbitrary[T]): Prop
-
implicit
def
checkProp(prop: Prop)(implicit p: Parameters): Result
-
def
checkProp(params: Params, prop: ⇒ Prop, callback: TestCallback): Result
-
def
checkResultFailure(r: Result): Result
-
def
clone(): AnyRef
-
-
-
-
def
createExpectable[T](t: ⇒ T, alias: Option[(String) ⇒ String]): Expectable[T]
-
def
createExpectable[T](t: ⇒ T, alias: (String) ⇒ String): Expectable[T]
-
def
createExpectable[T](t: ⇒ T, alias: ⇒ String): Expectable[T]
-
def
createExpectable[T](t: ⇒ T): Expectable[T]
-
def
createExpectableWithShowAs[T](t: ⇒ T, showAs: ⇒ String): Expectable[T]
-
implicit
def
defaultParameters: Parameters
-
implicit
def
defaultPrettyParams: Params
-
def
defaultValues: Map[Symbol, Int]
-
implicit
def
describe[T](t: ⇒ T): Descriptible[T]
-
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
def
flush(): Unit
-
implicit
def
functionToForAll[T](f: (T) ⇒ Boolean)(implicit a: Arbitrary[T], s: Shrink[T]): FunctionForAll[T]
-
implicit
def
functionToProp[T](f: (T) ⇒ Boolean)(implicit a: Arbitrary[T], s: Shrink[T]): Prop
-
implicit
def
functionToProp2[T1, T2](f: (T1, T2) ⇒ Boolean): FunctionForAll2[T1, T2]
-
implicit
def
functionToProp3[T1, T2, T3](f: (T1, T2, T3) ⇒ Boolean): FunctionForAll3[T1, T2, T3]
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
-
implicit
def
matchResultToProp[T](m: MatchResult[T]): Prop
-
val
maxDiscarded: Symbol
-
val
maxSize: Symbol
-
val
minSize: Symbol
-
val
minTestsOk: Symbol
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
print(m: Any): Unit
-
def
printStackTrace(t: Throwable): Unit
-
def
printf(s: String, args: Any*): Unit
-
def
println(m: Any): Unit
-
def
prop[T, S](f: PartialFunction[T, S])(implicit toProp: (S) ⇒ Prop, a: Arbitrary[T], s: Shrink[T]): Prop
-
def
prop[T1, T2, T3, T4, T5, T6, T7, T8, R](result: (T1, T2, T3, T4, T5, T6, T7, T8) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5], a6: Arbitrary[T6], s6: Shrink[T6], a7: Arbitrary[T7], s7: Shrink[T7], a8: Arbitrary[T8], s8: Shrink[T8]): Prop
-
def
prop[T1, T2, T3, T4, T5, T6, T7, R](result: (T1, T2, T3, T4, T5, T6, T7) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5], a6: Arbitrary[T6], s6: Shrink[T6], a7: Arbitrary[T7], s7: Shrink[T7]): Prop
-
def
prop[T1, T2, T3, T4, T5, T6, R](result: (T1, T2, T3, T4, T5, T6) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5], a6: Arbitrary[T6], s6: Shrink[T6]): Prop
-
def
prop[T1, T2, T3, T4, T5, R](result: (T1, T2, T3, T4, T5) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5]): Prop
-
def
prop[T1, T2, T3, T4, R](result: (T1, T2, T3, T4) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4]): Prop
-
def
prop[T1, T2, T3, R](result: (T1, T2, T3) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3]): Prop
-
def
prop[T1, T2, R](result: (T1, T2) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2]): Prop
-
def
prop[T, R](result: (T) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a: Arbitrary[T], s: Shrink[T]): Prop
-
implicit
def
propAsResult(implicit p: Parameters): AsResult[Prop]
-
def
propNoShrink[T, S](f: PartialFunction[T, S])(implicit toProp: (S) ⇒ Prop, a: Arbitrary[T]): Prop
-
def
propNoShrink[T1, T2, T3, T4, T5, T6, T7, T8, R](result: (T1, T2, T3, T4, T5, T6, T7, T8) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5], a6: Arbitrary[T6], a7: Arbitrary[T7], a8: Arbitrary[T8]): Prop
-
def
propNoShrink[T1, T2, T3, T4, T5, T6, T7, R](result: (T1, T2, T3, T4, T5, T6, T7) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5], a6: Arbitrary[T6], a7: Arbitrary[T7]): Prop
-
def
propNoShrink[T1, T2, T3, T4, T5, T6, R](result: (T1, T2, T3, T4, T5, T6) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5], a6: Arbitrary[T6]): Prop
-
def
propNoShrink[T1, T2, T3, T4, T5, R](result: (T1, T2, T3, T4, T5) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4], a5: Arbitrary[T5]): Prop
-
def
propNoShrink[T1, T2, T3, T4, R](result: (T1, T2, T3, T4) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3], a4: Arbitrary[T4]): Prop
-
def
propNoShrink[T1, T2, T3, R](result: (T1, T2, T3) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2], a3: Arbitrary[T3]): Prop
-
def
propNoShrink[T1, T2, R](result: (T1, T2) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], a2: Arbitrary[T2]): Prop
-
def
propNoShrink[T, R](result: (T) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a: Arbitrary[T]): Prop
-
implicit
def
propToProp(p: ⇒ Prop): Prop
-
implicit
def
resultProp(r: ⇒ Result): Prop
-
-
implicit
def
setProperty(p: Prop): SetProperty
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
implicit
def
toResult(b: Boolean): Result
-
def
toString(): String
-
implicit
def
unitToProp(u: ⇒ Unit): Prop
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
val
workers: Symbol
Deprecated Value Members
-
def
check[T, S](f: PartialFunction[T, S])(implicit toProp: (S) ⇒ Prop, a: Arbitrary[T], s: Shrink[T]): Prop
-
def
check[T1, T2, T3, T4, T5, T6, T7, T8, R](result: (T1, T2, T3, T4, T5, T6, T7, T8) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5], a6: Arbitrary[T6], s6: Shrink[T6], a7: Arbitrary[T7], s7: Shrink[T7], a8: Arbitrary[T8], s8: Shrink[T8]): Prop
-
def
check[T1, T2, T3, T4, T5, T6, T7, R](result: (T1, T2, T3, T4, T5, T6, T7) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5], a6: Arbitrary[T6], s6: Shrink[T6], a7: Arbitrary[T7], s7: Shrink[T7]): Prop
-
def
check[T1, T2, T3, T4, T5, T6, R](result: (T1, T2, T3, T4, T5, T6) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5], a6: Arbitrary[T6], s6: Shrink[T6]): Prop
-
def
check[T1, T2, T3, T4, T5, R](result: (T1, T2, T3, T4, T5) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4], a5: Arbitrary[T5], s5: Shrink[T5]): Prop
-
def
check[T1, T2, T3, T4, R](result: (T1, T2, T3, T4) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3], a4: Arbitrary[T4], s4: Shrink[T4]): Prop
-
def
check[T1, T2, T3, R](result: (T1, T2, T3) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2], a3: Arbitrary[T3], s3: Shrink[T3]): Prop
-
def
check[T1, T2, R](result: (T1, T2) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a1: Arbitrary[T1], s1: Shrink[T1], a2: Arbitrary[T2], s2: Shrink[T2]): Prop
-
def
check[T, R](result: (T) ⇒ R)(implicit toProp: (⇒ R) ⇒ Prop, a: Arbitrary[T], s: Shrink[T]): Prop
Inherited from ResultLogicalCombinators
Inherited from ConsoleOutput
Inherited from AnyRef
Inherited from Any
The ScalaCheckMatchers trait provides matchers which allow to assess properties multiple times with generated data.
the ScalaCheck project