Prop

object Prop
Companion
class
class Object
trait Matchable
class Any

Type members

Classlikes

case class Arg[+T](label: String, arg: T, shrinks: Int, origArg: T, prettyArg: Pretty, prettyOrigArg: Pretty)

A property argument

A property argument

sealed case class Exception(e: Throwable) extends Status

Evaluating the property raised an exception

Evaluating the property raised an exception

class ExtendedAny[T](x: => T)(ev: T => Pretty)

A collection of property operators on Any values. Import Prop.AnyOperators to make the operators available.

A collection of property operators on Any values. Import Prop.AnyOperators to make the operators available.

class ExtendedBoolean(b: => Boolean)

A collection of property operators on Boolean values. Import Prop.propBoolean to make the operators available. The availability of this class as an implicit via BooleanOperators was removed in 1.15.0.

A collection of property operators on Boolean values. Import Prop.propBoolean to make the operators available. The availability of this class as an implicit via BooleanOperators was removed in 1.15.0.

case object False extends Status

The property was false

The property was false

case object Proof extends Status

The property was proved

The property was proved

case class Result(status: Status, args: List[Arg[Any]], collected: Set[Any], labels: Set[String])

The result of evaluating a property

The result of evaluating a property

sealed trait Status
case object True extends Status

The property was true

The property was true

case object Undecided extends Status

The property could not be falsified or proved

The property could not be falsified or proved

Value members

Concrete methods

def =?[T](x: T, y: T)(pp: T => Pretty): Prop

Create a property that compares two values. If the values aren't equal, the property will fail and report that second value doesn't match the expected (first) value.

Create a property that compares two values. If the values aren't equal, the property will fail and report that second value doesn't match the expected (first) value.

def ?=[T](x: T, y: T)(pp: T => Pretty): Prop

Create a property that compares two values. If the values aren't equal, the property will fail and report that first value doesn't match the expected (second) value.

Create a property that compares two values. If the values aren't equal, the property will fail and report that first value doesn't match the expected (second) value.

def all(ps: Prop*): Prop

Combines properties into one, which is true if and only if all the properties are true

Combines properties into one, which is true if and only if all the properties are true

Create a new property from the given function.

Create a new property from the given function.

def apply(r: Result): Prop

Create a property that returns the given result

Create a property that returns the given result

def apply(b: Boolean): Prop

Create a property from a boolean value

Create a property from a boolean value

def atLeastOne(ps: Prop*): Prop

Combines properties into one, which is true if at least one of the properties is true

Combines properties into one, which is true if at least one of the properties is true

def classify(c: => Boolean, ifTrue: Any)(prop: Prop): Prop

Collect data for presentation in test report

Collect data for presentation in test report

def classify(c: => Boolean, ifTrue: Any, ifFalse: Any)(prop: Prop): Prop

Collect data for presentation in test report

Collect data for presentation in test report

def collect[T](t: T)(prop: Prop): Prop

Collect data for presentation in test report

Collect data for presentation in test report

def delay(p: => Prop): Prop

Wraps a property to delay its evaluation. The given parameter is evaluated each time the wrapper property is evaluated.

Wraps a property to delay its evaluation. The given parameter is evaluated each time the wrapper property is evaluated.

def exception(e: Throwable): Prop

A property that denotes an exception

A property that denotes an exception

def exists[A, P](f: A => P)(pv: P => Prop, pp: A => Pretty, aa: Arbitrary[A]): Prop

Existential quantifier for an explicit generator.

Existential quantifier for an explicit generator.

def exists[A, P](g: Gen[A])(f: A => P)(pv: P => Prop, pp: A => Pretty): Prop

Existential quantifier for an explicit generator.

Existential quantifier for an explicit generator.

def forAll[T1, P](g1: Gen[T1])(f: T1 => P)(p: P => Prop, s1: Shrink[T1], pp1: T1 => Pretty): Prop

Universal quantifier for an explicit generator. Shrinks failed arguments with the default shrink function for the type

Universal quantifier for an explicit generator. Shrinks failed arguments with the default shrink function for the type

def forAll[T1, T2, P](g1: Gen[T1], g2: Gen[T2])(f: (T1, T2) => P)(p: P => Prop, s1: Shrink[T1], pp1: T1 => Pretty, s2: Shrink[T2], pp2: T2 => Pretty): Prop

Universal quantifier for two explicit generators. Shrinks failed arguments with the default shrink function for the type

Universal quantifier for two explicit generators. Shrinks failed arguments with the default shrink function for the type

def forAll[T1, T2, T3, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3])(f: (T1, T2, T3) => P)(p: P => Prop, s1: Shrink[T1], pp1: T1 => Pretty, s2: Shrink[T2], pp2: T2 => Pretty, s3: Shrink[T3], pp3: T3 => Pretty): Prop

Universal quantifier for three explicit generators. Shrinks failed arguments with the default shrink function for the type

Universal quantifier for three explicit generators. Shrinks failed arguments with the default shrink function for the type

def forAll[T1, T2, T3, T4, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3], g4: Gen[T4])(f: (T1, T2, T3, T4) => P)(p: P => Prop, s1: Shrink[T1], pp1: T1 => Pretty, s2: Shrink[T2], pp2: T2 => Pretty, s3: Shrink[T3], pp3: T3 => Pretty, s4: Shrink[T4], pp4: T4 => Pretty): Prop

Universal quantifier for four explicit generators. Shrinks failed arguments with the default shrink function for the type

Universal quantifier for four explicit generators. Shrinks failed arguments with the default shrink function for the type

def forAll[T1, T2, T3, T4, T5, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3], g4: Gen[T4], g5: Gen[T5])(f: (T1, T2, T3, T4, T5) => P)(p: P => Prop, s1: Shrink[T1], pp1: T1 => Pretty, s2: Shrink[T2], pp2: T2 => Pretty, s3: Shrink[T3], pp3: T3 => Pretty, s4: Shrink[T4], pp4: T4 => Pretty, s5: Shrink[T5], pp5: T5 => Pretty): Prop

Universal quantifier for five explicit generators. Shrinks failed arguments with the default shrink function for the type

Universal quantifier for five explicit generators. Shrinks failed arguments with the default shrink function for the type

def forAll[T1, T2, T3, T4, T5, T6, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3], g4: Gen[T4], g5: Gen[T5], g6: Gen[T6])(f: (T1, T2, T3, T4, T5, T6) => P)(p: P => Prop, s1: Shrink[T1], pp1: T1 => Pretty, s2: Shrink[T2], pp2: T2 => Pretty, s3: Shrink[T3], pp3: T3 => Pretty, s4: Shrink[T4], pp4: T4 => Pretty, s5: Shrink[T5], pp5: T5 => Pretty, s6: Shrink[T6], pp6: T6 => Pretty): Prop

Universal quantifier for six explicit generators. Shrinks failed arguments with the default shrink function for the type

Universal quantifier for six explicit generators. Shrinks failed arguments with the default shrink function for the type

def forAll[T1, T2, T3, T4, T5, T6, T7, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3], g4: Gen[T4], g5: Gen[T5], g6: Gen[T6], g7: Gen[T7])(f: (T1, T2, T3, T4, T5, T6, T7) => P)(p: P => Prop, s1: Shrink[T1], pp1: T1 => Pretty, s2: Shrink[T2], pp2: T2 => Pretty, s3: Shrink[T3], pp3: T3 => Pretty, s4: Shrink[T4], pp4: T4 => Pretty, s5: Shrink[T5], pp5: T5 => Pretty, s6: Shrink[T6], pp6: T6 => Pretty, s7: Shrink[T7], pp7: T7 => Pretty): Prop

Universal quantifier for seven explicit generators. Shrinks failed arguments with the default shrink function for the type

Universal quantifier for seven explicit generators. Shrinks failed arguments with the default shrink function for the type

def forAll[T1, T2, T3, T4, T5, T6, T7, T8, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3], g4: Gen[T4], g5: Gen[T5], g6: Gen[T6], g7: Gen[T7], g8: Gen[T8])(f: (T1, T2, T3, T4, T5, T6, T7, T8) => P)(p: P => Prop, s1: Shrink[T1], pp1: T1 => Pretty, s2: Shrink[T2], pp2: T2 => Pretty, s3: Shrink[T3], pp3: T3 => Pretty, s4: Shrink[T4], pp4: T4 => Pretty, s5: Shrink[T5], pp5: T5 => Pretty, s6: Shrink[T6], pp6: T6 => Pretty, s7: Shrink[T7], pp7: T7 => Pretty, s8: Shrink[T8], pp8: T8 => Pretty): Prop

Universal quantifier for eight explicit generators. Shrinks failed arguments with the default shrink function for the type

Universal quantifier for eight explicit generators. Shrinks failed arguments with the default shrink function for the type

def forAll[A1, P](f: A1 => P)(p: P => Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: A1 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAll[A1, A2, P](f: (A1, A2) => P)(p: P => Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: A2 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAll[A1, A2, A3, P](f: (A1, A2, A3) => P)(p: P => Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], s3: Shrink[A3], pp3: A3 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAll[A1, A2, A3, A4, P](f: (A1, A2, A3, A4) => P)(p: P => Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], s3: Shrink[A3], pp3: A3 => Pretty, a4: Arbitrary[A4], s4: Shrink[A4], pp4: A4 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAll[A1, A2, A3, A4, A5, P](f: (A1, A2, A3, A4, A5) => P)(p: P => Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], s3: Shrink[A3], pp3: A3 => Pretty, a4: Arbitrary[A4], s4: Shrink[A4], pp4: A4 => Pretty, a5: Arbitrary[A5], s5: Shrink[A5], pp5: A5 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAll[A1, A2, A3, A4, A5, A6, P](f: (A1, A2, A3, A4, A5, A6) => P)(p: P => Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], s3: Shrink[A3], pp3: A3 => Pretty, a4: Arbitrary[A4], s4: Shrink[A4], pp4: A4 => Pretty, a5: Arbitrary[A5], s5: Shrink[A5], pp5: A5 => Pretty, a6: Arbitrary[A6], s6: Shrink[A6], pp6: A6 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAll[A1, A2, A3, A4, A5, A6, A7, P](f: (A1, A2, A3, A4, A5, A6, A7) => P)(p: P => Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], s3: Shrink[A3], pp3: A3 => Pretty, a4: Arbitrary[A4], s4: Shrink[A4], pp4: A4 => Pretty, a5: Arbitrary[A5], s5: Shrink[A5], pp5: A5 => Pretty, a6: Arbitrary[A6], s6: Shrink[A6], pp6: A6 => Pretty, a7: Arbitrary[A7], s7: Shrink[A7], pp7: A7 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAll[A1, A2, A3, A4, A5, A6, A7, A8, P](f: (A1, A2, A3, A4, A5, A6, A7, A8) => P)(p: P => Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], s3: Shrink[A3], pp3: A3 => Pretty, a4: Arbitrary[A4], s4: Shrink[A4], pp4: A4 => Pretty, a5: Arbitrary[A5], s5: Shrink[A5], pp5: A5 => Pretty, a6: Arbitrary[A6], s6: Shrink[A6], pp6: A6 => Pretty, a7: Arbitrary[A7], s7: Shrink[A7], pp7: A7 => Pretty, a8: Arbitrary[A8], s8: Shrink[A8], pp8: A8 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAllNoShrink[T1, P](g1: Gen[T1])(f: T1 => P)(pv: P => Prop, pp1: T1 => Pretty): Prop

Universal quantifier for an explicit generator. Does not shrink failed test cases.

Universal quantifier for an explicit generator. Does not shrink failed test cases.

def forAllNoShrink[T1, T2, P](g1: Gen[T1], g2: Gen[T2])(f: (T1, T2) => P)(p: P => Prop, pp1: T1 => Pretty, pp2: T2 => Pretty): Prop

Universal quantifier for two explicit generators. Does not shrink failed test cases.

Universal quantifier for two explicit generators. Does not shrink failed test cases.

def forAllNoShrink[T1, T2, T3, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3])(f: (T1, T2, T3) => P)(p: P => Prop, pp1: T1 => Pretty, pp2: T2 => Pretty, pp3: T3 => Pretty): Prop

Universal quantifier for three explicit generators. Does not shrink failed test cases.

Universal quantifier for three explicit generators. Does not shrink failed test cases.

def forAllNoShrink[T1, T2, T3, T4, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3], g4: Gen[T4])(f: (T1, T2, T3, T4) => P)(p: P => Prop, pp1: T1 => Pretty, pp2: T2 => Pretty, pp3: T3 => Pretty, pp4: T4 => Pretty): Prop

Universal quantifier for four explicit generators. Does not shrink failed test cases.

Universal quantifier for four explicit generators. Does not shrink failed test cases.

def forAllNoShrink[T1, T2, T3, T4, T5, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3], g4: Gen[T4], g5: Gen[T5])(f: (T1, T2, T3, T4, T5) => P)(p: P => Prop, pp1: T1 => Pretty, pp2: T2 => Pretty, pp3: T3 => Pretty, pp4: T4 => Pretty, pp5: T5 => Pretty): Prop

Universal quantifier for five explicit generators. Does not shrink failed test cases.

Universal quantifier for five explicit generators. Does not shrink failed test cases.

def forAllNoShrink[T1, T2, T3, T4, T5, T6, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3], g4: Gen[T4], g5: Gen[T5], g6: Gen[T6])(f: (T1, T2, T3, T4, T5, T6) => P)(p: P => Prop, pp1: T1 => Pretty, pp2: T2 => Pretty, pp3: T3 => Pretty, pp4: T4 => Pretty, pp5: T5 => Pretty, pp6: T6 => Pretty): Prop

Universal quantifier for six explicit generators. Does not shrink failed test cases.

Universal quantifier for six explicit generators. Does not shrink failed test cases.

def forAllNoShrink[T1, T2, T3, T4, T5, T6, T7, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3], g4: Gen[T4], g5: Gen[T5], g6: Gen[T6], g7: Gen[T7])(f: (T1, T2, T3, T4, T5, T6, T7) => P)(p: P => Prop, pp1: T1 => Pretty, pp2: T2 => Pretty, pp3: T3 => Pretty, pp4: T4 => Pretty, pp5: T5 => Pretty, pp6: T6 => Pretty, pp7: T7 => Pretty): Prop

Universal quantifier for seven explicit generators. Does not shrink failed test cases.

Universal quantifier for seven explicit generators. Does not shrink failed test cases.

def forAllNoShrink[T1, T2, T3, T4, T5, T6, T7, T8, P](g1: Gen[T1], g2: Gen[T2], g3: Gen[T3], g4: Gen[T4], g5: Gen[T5], g6: Gen[T6], g7: Gen[T7], g8: Gen[T8])(f: (T1, T2, T3, T4, T5, T6, T7, T8) => P)(p: P => Prop, pp1: T1 => Pretty, pp2: T2 => Pretty, pp3: T3 => Pretty, pp4: T4 => Pretty, pp5: T5 => Pretty, pp6: T6 => Pretty, pp7: T7 => Pretty, pp8: T8 => Pretty): Prop

Universal quantifier for eight explicit generators. Does not shrink failed test cases.

Universal quantifier for eight explicit generators. Does not shrink failed test cases.

def forAllNoShrink[A1, P](f: A1 => P)(pv: P => Prop, a1: Arbitrary[A1], pp1: A1 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAllNoShrink[A1, A2, P](f: (A1, A2) => P)(pv: P => Prop, a1: Arbitrary[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], pp2: A2 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAllNoShrink[A1, A2, A3, P](f: (A1, A2, A3) => P)(pv: P => Prop, a1: Arbitrary[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], pp3: A3 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAllNoShrink[A1, A2, A3, A4, P](f: (A1, A2, A3, A4) => P)(pv: P => Prop, a1: Arbitrary[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], pp3: A3 => Pretty, a4: Arbitrary[A4], pp4: A4 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAllNoShrink[A1, A2, A3, A4, A5, P](f: (A1, A2, A3, A4, A5) => P)(pv: P => Prop, a1: Arbitrary[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], pp3: A3 => Pretty, a4: Arbitrary[A4], pp4: A4 => Pretty, a5: Arbitrary[A5], pp5: A5 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAllNoShrink[A1, A2, A3, A4, A5, A6, P](f: (A1, A2, A3, A4, A5, A6) => P)(pv: P => Prop, a1: Arbitrary[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], pp3: A3 => Pretty, a4: Arbitrary[A4], pp4: A4 => Pretty, a5: Arbitrary[A5], pp5: A5 => Pretty, a6: Arbitrary[A6], pp6: A6 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAllNoShrink[A1, A2, A3, A4, A5, A6, A7, P](f: (A1, A2, A3, A4, A5, A6, A7) => P)(pv: P => Prop, a1: Arbitrary[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], pp3: A3 => Pretty, a4: Arbitrary[A4], pp4: A4 => Pretty, a5: Arbitrary[A5], pp5: A5 => Pretty, a6: Arbitrary[A6], pp6: A6 => Pretty, a7: Arbitrary[A7], pp7: A7 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAllNoShrink[A1, A2, A3, A4, A5, A6, A7, A8, P](f: (A1, A2, A3, A4, A5, A6, A7, A8) => P)(pv: P => Prop, a1: Arbitrary[A1], pp1: A1 => Pretty, a2: Arbitrary[A2], pp2: A2 => Pretty, a3: Arbitrary[A3], pp3: A3 => Pretty, a4: Arbitrary[A4], pp4: A4 => Pretty, a5: Arbitrary[A5], pp5: A5 => Pretty, a6: Arbitrary[A6], pp6: A6 => Pretty, a7: Arbitrary[A7], pp7: A7 => Pretty, a8: Arbitrary[A8], pp8: A8 => Pretty): Prop

Converts a function into a universally quantified property

Converts a function into a universally quantified property

def forAllShrink[T, P](g: Gen[T], shrink: T => Stream[T])(f: T => P)(pv: P => Prop, pp: T => Pretty): Prop

Universal quantifier for an explicit generator. Shrinks failed arguments with the given shrink function

Universal quantifier for an explicit generator. Shrinks failed arguments with the given shrink function

def iff[T](x: T, f: PartialFunction[T, Prop]): Prop

Property holds only if the given partial function is defined at x, and returns a property that holds

Property holds only if the given partial function is defined at x, and returns a property that holds

def imply[T](x: T, f: PartialFunction[T, Prop]): Prop

Implication with several conditions

Implication with several conditions

def lzy(p: => Prop): Prop

Wraps a property lazily. The given parameter is only evaluated once, and not until the wrapper property is evaluated.

Wraps a property lazily. The given parameter is only evaluated once, and not until the wrapper property is evaluated.

def noneFailing[T](gs: Seq[Gen[T]]): Prop

A property that holds iff none of the given generators fails generating a value

A property that holds iff none of the given generators fails generating a value

def protect(p: => Prop): Prop

Wraps and protects a property, delaying its evaluation and turning exceptions into test failures.

Wraps and protects a property, delaying its evaluation and turning exceptions into test failures.

def secure[P](p: => P)(ev: P => Prop): Prop

Wraps and protects a property, turning exceptions thrown by the property into test failures.

Wraps and protects a property, turning exceptions thrown by the property into test failures.

def sizedProp(f: Int => Prop): Prop

A property that depends on the generator size

A property that depends on the generator size

def someFailing[T](gs: Seq[Gen[T]]): Prop

A property that holds if at least one of the given generators fails generating a value

A property that holds if at least one of the given generators fails generating a value

This handles situations where we have a starting seed in our parameters.

This handles situations where we have a starting seed in our parameters.

If we do, then we remove it from parameters and return it. If not, we create a new random seed. The new parameters from this method should be used with all the generation that this prop needs itself.

Note that if this Prop needs to evaluate other Props (e.g. in forAll), you should make sure not to use the parameters returned from this method. We need for all Props evaluated by this one to behave deterministically if this Prop was given a seed. In that case you should use slideSeed to update the parameters.

def throws[T <: Throwable](c: Class[T])(x: => Any): Boolean

Returns true if the given statement throws an exception of the specified type

Returns true if the given statement throws an exception of the specified type

def within(maximumMs: Long)(wrappedProp: => Prop): Prop

Ensures that the property expression passed in completes within the given space of time.

Ensures that the property expression passed in completes within the given space of time.

Deprecated methods

@deprecated("Please import Prop.propBoolean instead", since = "1.14.1")
def BooleanOperators(b: => Boolean): ExtendedBoolean

Implicit method that makes a number of property operators on boolean values available in the current scope. See Prop.ExtendedBoolean for documentation on the operators.

Implicit method that makes a number of property operators on boolean values available in the current scope. See Prop.ExtendedBoolean for documentation on the operators.

Deprecated
[Since version 1.14.1]
@deprecated("Use Prop.forAll(t => Prop.collect(t)(...)) instead of Prop.forAll(Prop.collect(t => ...))", "1.15.0")
def collect[T, P](f: T => P)(ev: P => Prop): T => Prop

Collect data for presentation in test report

Collect data for presentation in test report

Deprecated

Concrete fields

lazy val exception: Prop

A property that denotes an exception

A property that denotes an exception

lazy val falsified: Prop

A property that always is false

A property that always is false

lazy val passed: Prop

A property that always is passed

A property that always is passed

lazy val proved: Prop

A property that always is proved

A property that always is proved

lazy val undecided: Prop

A property that never is proved or falsified

A property that never is proved or falsified

Implicits

Implicits

implicit def AnyOperators[T](x: => T)(ev: T => Pretty): ExtendedAny[T]

Implicit method that makes a number of property operators on values of type Any available in the current scope. See Prop.ExtendedAny for documentation on the operators.

Implicit method that makes a number of property operators on values of type Any available in the current scope. See Prop.ExtendedAny for documentation on the operators.

implicit def propBoolean(b: Boolean): Prop

Implicit conversion of Boolean values to Prop values.

Implicit conversion of Boolean values to Prop values.