Assertion

Companion:
class
class Object
trait Matchable
class Any

Type members

Types

type Render = Render

Value members

Concrete methods

def approximatelyEquals[A : Numeric](reference: A, tolerance: A): Assertion[A]

Makes a new assertion that requires a given numeric value to match a value with some tolerance.

Makes a new assertion that requires a given numeric value to match a value with some tolerance.

def assertion[A](name: String)(params: RenderParam*)(run: (=> A) => Boolean): Assertion[A]

Makes a new Assertion from a pretty-printing and a function.

Makes a new Assertion from a pretty-printing and a function.

def assertionDirect[A](name: String)(params: RenderParam*)(run: (=> A) => AssertResult): Assertion[A]

Makes a new Assertion from a pretty-printing and a function.

Makes a new Assertion from a pretty-printing and a function.

def assertionRec[A, B](name: String)(params: RenderParam*)(assertion: Assertion[B])(get: (=> A) => Option[B], orElse: AssertionData => AssertResult): Assertion[A]

Makes a new Assertion[A] from a pretty-printing, a function (=> A) => Option[B], and an Assertion[B]. If the result of applying the function to a given value is Some[B], the Assertion[B] will be applied to the resulting value to determine if the assertion is satisfied. The result of the Assertion[B] and any assertions it is composed from will be recursively embedded in the assert result. If the result of the function is None the orElse parameter will be used to determine whether the assertion is satisfied.

Makes a new Assertion[A] from a pretty-printing, a function (=> A) => Option[B], and an Assertion[B]. If the result of applying the function to a given value is Some[B], the Assertion[B] will be applied to the resulting value to determine if the assertion is satisfied. The result of the Assertion[B] and any assertions it is composed from will be recursively embedded in the assert result. If the result of the function is None the orElse parameter will be used to determine whether the assertion is satisfied.

def contains[A](element: A): Assertion[Iterable[A]]

Makes a new assertion that requires an Iterable contain the specified element. See Assertion.exists if you want to require an Iterable to contain an element satisfying an assertion.

Makes a new assertion that requires an Iterable contain the specified element. See Assertion.exists if you want to require an Iterable to contain an element satisfying an assertion.

def containsCause[E](cause: Cause[E]): Assertion[Cause[E]]

Makes a new assertion that requires a Cause contain the specified cause.

Makes a new assertion that requires a Cause contain the specified cause.

Makes a new assertion that requires a substring to be present.

Makes a new assertion that requires a substring to be present.

def dies(assertion: Assertion[Throwable]): Assertion[Exit[Any, Any]]

Makes a new assertion that requires an exit value to die.

Makes a new assertion that requires an exit value to die.

def diesWithA[E : ClassTag]: Assertion[Exit[E, Any]]

Makes a new assertion that requires an exit value to die with an instance of given type (or its subtype).

Makes a new assertion that requires an exit value to die with an instance of given type (or its subtype).

def endsWith[A](suffix: Seq[A]): Assertion[Seq[A]]

Makes a new assertion that requires a given string to end with the specified suffix.

Makes a new assertion that requires a given string to end with the specified suffix.

Makes a new assertion that requires a given string to end with the specified suffix.

Makes a new assertion that requires a given string to end with the specified suffix.

Makes a new assertion that requires a given string to equal another ignoring case.

Makes a new assertion that requires a given string to equal another ignoring case.

def exists[A](assertion: Assertion[A]): Assertion[Iterable[A]]

Makes a new assertion that requires an Iterable contain an element satisfying the given assertion. See Assertion.contains if you only need an Iterable to contain a given element.

Makes a new assertion that requires an Iterable contain an element satisfying the given assertion. See Assertion.contains if you only need an Iterable to contain a given element.

def fails[E](assertion: Assertion[E]): Assertion[Exit[E, Any]]

Makes a new assertion that requires an exit value to fail.

Makes a new assertion that requires an exit value to fail.

def failsCause[E](assertion: Assertion[Cause[E]]): Assertion[Exit[E, Any]]

Makes a new assertion that requires an exit value to fail with a cause that meets the specified assertion.

Makes a new assertion that requires an exit value to fail with a cause that meets the specified assertion.

def failsWithA[E : ClassTag]: Assertion[Exit[E, Any]]

Makes a new assertion that requires the expression to fail with an instance of given type (or its subtype).

Makes a new assertion that requires the expression to fail with an instance of given type (or its subtype).

def forall[A](assertion: Assertion[A]): Assertion[Iterable[A]]

Makes a new assertion that requires an Iterable contain only elements satisfying the given assertion.

Makes a new assertion that requires an Iterable contain only elements satisfying the given assertion.

def hasAt[A](pos: Int)(assertion: Assertion[A]): Assertion[Seq[A]]

Makes a new assertion that requires a sequence to contain an element satisfying the given assertion on the given position

Makes a new assertion that requires a sequence to contain an element satisfying the given assertion on the given position

Makes a new assertion that requires an Iterable contain at least one of the specified elements.

Makes a new assertion that requires an Iterable contain at least one of the specified elements.

def hasAtMostOneOf[A](other: Iterable[A]): Assertion[Iterable[A]]

Makes a new assertion that requires an Iterable contain at most one of the specified elements.

Makes a new assertion that requires an Iterable contain at most one of the specified elements.

def hasField[A, B](name: String, proj: A => B, assertion: Assertion[B]): Assertion[A]

Makes a new assertion that focuses in on a field in a case class.

Makes a new assertion that focuses in on a field in a case class.

hasField("age", _.age, within(0, 10))
def hasFirst[A](assertion: Assertion[A]): Assertion[Iterable[A]]

Makes a new assertion that requires an Iterable to contain the first element satisfying the given assertion.

Makes a new assertion that requires an Iterable to contain the first element satisfying the given assertion.

def hasIntersection[A](other: Iterable[A])(assertion: Assertion[Iterable[A]]): Assertion[Iterable[A]]

Makes a new assertion that requires the intersection of two Iterables satisfy the given assertion.

Makes a new assertion that requires the intersection of two Iterables satisfy the given assertion.

def hasKey[K, V](key: K, assertion: Assertion[V]): Assertion[Map[K, V]]

Makes a new assertion that requires a Map to have the specified key with value satisfying the specified assertion.

Makes a new assertion that requires a Map to have the specified key with value satisfying the specified assertion.

def hasKey[K, V](key: K): Assertion[Map[K, V]]

Makes a new assertion that requires a Map to have the specified key.

Makes a new assertion that requires a Map to have the specified key.

def hasKeys[K, V](assertion: Assertion[Iterable[K]]): Assertion[Map[K, V]]

Makes a new assertion that requires a Map have keys satisfying the specified assertion.

Makes a new assertion that requires a Map have keys satisfying the specified assertion.

def hasLast[A](assertion: Assertion[A]): Assertion[Iterable[A]]

Makes a new assertion that requires an Iterable to contain the last element satisfying the given assertion.

Makes a new assertion that requires an Iterable to contain the last element satisfying the given assertion.

Makes a new assertion that requires an exception to have a certain message.

Makes a new assertion that requires an exception to have a certain message.

def hasNoneOf[A](other: Iterable[A]): Assertion[Iterable[A]]

Makes a new assertion that requires an Iterable contain none of the specified elements.

Makes a new assertion that requires an Iterable contain none of the specified elements.

def hasOneOf[A](other: Iterable[A]): Assertion[Iterable[A]]

Makes a new assertion that requires an Iterable contain exactly one of the specified elements.

Makes a new assertion that requires an Iterable contain exactly one of the specified elements.

Makes a new assertion that requires an Iterable to have the same elements as the specified Iterable, though not necessarily in the same order.

Makes a new assertion that requires an Iterable to have the same elements as the specified Iterable, though not necessarily in the same order.

Makes a new assertion that requires an Iterable to have the same distinct elements as the other Iterable, though not necessarily in the same order.

Makes a new assertion that requires an Iterable to have the same distinct elements as the other Iterable, though not necessarily in the same order.

def hasSize[A](assertion: Assertion[Int]): Assertion[Iterable[A]]

Makes a new assertion that requires the size of an Iterable be satisfied by the specified assertion.

Makes a new assertion that requires the size of an Iterable be satisfied by the specified assertion.

Makes a new assertion that requires the size of a string be satisfied by the specified assertion.

Makes a new assertion that requires the size of a string be satisfied by the specified assertion.

def hasSubset[A](other: Iterable[A]): Assertion[Iterable[A]]

Makes a new assertion that requires the specified Iterable to be a subset of the other Iterable.

Makes a new assertion that requires the specified Iterable to be a subset of the other Iterable.

Makes a new assertion that requires an exception to have certain suppressed exceptions.

Makes a new assertion that requires an exception to have certain suppressed exceptions.

Makes a new assertion that requires an exception to have a certain cause.

Makes a new assertion that requires an exception to have a certain cause.

def hasValues[K, V](assertion: Assertion[Iterable[V]]): Assertion[Map[K, V]]

Makes a new assertion that requires a Map have values satisfying the specified assertion.

Makes a new assertion that requires a Map have values satisfying the specified assertion.

def isCase[Sum, Proj](termName: String, term: Sum => Option[Proj], assertion: Assertion[Proj]): Assertion[Sum]

Makes a new assertion that requires the sum type be a specified term.

Makes a new assertion that requires the sum type be a specified term.

isCase("Some", Some.unapply, anything)
def isFailure(assertion: Assertion[Throwable]): Assertion[Try[Any]]

Makes a new assertion that requires a Failure value satisfying the specified assertion.

Makes a new assertion that requires a Failure value satisfying the specified assertion.

Makes a new assertion that requires a value be false.

Makes a new assertion that requires a value be false.

Makes a new assertions that requires a double value is finite.

Makes a new assertions that requires a double value is finite.

Makes a new assertions that requires a float value is finite.

Makes a new assertions that requires a float value is finite.

def isGreaterThan[A](reference: A)(implicit ord: Ordering[A]): Assertion[A]

Makes a new assertion that requires the value be greater than the specified reference value.

Makes a new assertion that requires the value be greater than the specified reference value.

def isGreaterThanEqualTo[A](reference: A)(implicit ord: Ordering[A]): Assertion[A]

Makes a new assertion that requires the value be greater than or equal to the specified reference value.

Makes a new assertion that requires the value be greater than or equal to the specified reference value.

Makes a new assertions that requires a double value is infinite.

Makes a new assertions that requires a double value is infinite.

Makes a new assertions that requires a float value is infinite.

Makes a new assertions that requires a float value is infinite.

def isInterrupted: Assertion[Exit[Any, Any]]

Makes a new assertion that requires an exit value to be interrupted.

Makes a new assertion that requires an exit value to be interrupted.

def isLeft[A](assertion: Assertion[A]): Assertion[Either[A, Any]]

Makes a new assertion that requires a Left value satisfying a specified assertion.

Makes a new assertion that requires a Left value satisfying a specified assertion.

def isLessThan[A](reference: A)(implicit ord: Ordering[A]): Assertion[A]

Makes a new assertion that requires the value be less than the specified reference value.

Makes a new assertion that requires the value be less than the specified reference value.

def isLessThanEqualTo[A](reference: A)(implicit ord: Ordering[A]): Assertion[A]

Makes a new assertion that requires the value be less than or equal to the specified reference value.

Makes a new assertion that requires the value be less than or equal to the specified reference value.

Makes a new assertions that requires a double value is not a number (NaN).

Makes a new assertions that requires a double value is not a number (NaN).

Makes a new assertions that requires a float value is not a number (NaN).

Makes a new assertions that requires a float value is not a number (NaN).

Makes a new assertions that requires a double value is negative infinity.

Makes a new assertions that requires a double value is negative infinity.

Makes a new assertions that requires a float value is negative infinity.

Makes a new assertions that requires a float value is negative infinity.

def isNegative[A](implicit num: Numeric[A]): Assertion[A]

Makes a new assertion that requires a numeric value is negative.

Makes a new assertion that requires a numeric value is negative.

def isOneOf[A](values: Iterable[A]): Assertion[A]

Makes a new assertion that requires a value to be equal to one of the specified values.

Makes a new assertion that requires a value to be equal to one of the specified values.

Makes a new assertions that requires a double value is positive infinity.

Makes a new assertions that requires a double value is positive infinity.

Makes a new assertions that requires a float value is positive infinity.

Makes a new assertions that requires a float value is positive infinity.

def isPositive[A](implicit num: Numeric[A]): Assertion[A]

Makes a new assertion that requires a numeric value is positive.

Makes a new assertion that requires a numeric value is positive.

def isRight[A](assertion: Assertion[A]): Assertion[Either[Any, A]]

Makes a new assertion that requires a Right value satisfying a specified assertion.

Makes a new assertion that requires a Right value satisfying a specified assertion.

def isSome[A](assertion: Assertion[A]): Assertion[Option[A]]

Makes a new assertion that requires a Some value satisfying the specified assertion.

Makes a new assertion that requires a Some value satisfying the specified assertion.

def isSorted[A](implicit ord: Ordering[A]): Assertion[Iterable[A]]

Makes a new assertion that requires an Iterable is sorted.

Makes a new assertion that requires an Iterable is sorted.

def isSortedReverse[A](implicit ord: Ordering[A]): Assertion[Iterable[A]]

Makes a new assertion that requires an Iterable is sorted in reverse order.

Makes a new assertion that requires an Iterable is sorted in reverse order.

def isSubtype[A](assertion: Assertion[A])(implicit C: ClassTag[A]): Assertion[Any]

Makes a new assertion that requires a value have the specified type.

Makes a new assertion that requires a value have the specified type.

Example:

 assert(Duration.fromNanos(1))(isSubtype[Duration.Finite](Assertion.anything))
def isSuccess[A](assertion: Assertion[A]): Assertion[Try[A]]

Makes a new assertion that requires a Success value satisfying the specified assertion.

Makes a new assertion that requires a Success value satisfying the specified assertion.

Makes a new assertion that requires a value be true.

Makes a new assertion that requires a value be true.

def isWithin[A](min: A, max: A)(implicit ord: Ordering[A]): Assertion[A]

Makes a new assertion that requires a value to fall within a specified min and max (inclusive).

Makes a new assertion that requires a value to fall within a specified min and max (inclusive).

def isZero[A](implicit num: Numeric[A]): Assertion[A]

Makes a new assertion that requires a numeric value is zero.

Makes a new assertion that requires a numeric value is zero.

Makes a new assertion that requires a given string to match the specified regular expression.

Makes a new assertion that requires a given string to match the specified regular expression.

def nonNegative[A](implicit num: Numeric[A]): Assertion[A]

Makes a new assertion that requires a numeric value is non negative.

Makes a new assertion that requires a numeric value is non negative.

def nonPositive[A](implicit num: Numeric[A]): Assertion[A]

Makes a new assertion that requires a numeric value is non positive.

Makes a new assertion that requires a numeric value is non positive.

def not[A](assertion: Assertion[A]): Assertion[A]

Makes a new assertion that negates the specified assertion.

Makes a new assertion that negates the specified assertion.

def startsWith[A](prefix: Seq[A]): Assertion[Seq[A]]

Makes a new assertion that requires a given sequence to start with the specified prefix.

Makes a new assertion that requires a given sequence to start with the specified prefix.

Makes a new assertion that requires a given string to start with a specified prefix.

Makes a new assertion that requires a given string to start with a specified prefix.

def succeeds[A](assertion: Assertion[A]): Assertion[Exit[Any, A]]

Makes a new assertion that requires an exit value to succeed.

Makes a new assertion that requires an exit value to succeed.

def throws[A](assertion: Assertion[Throwable]): Assertion[A]

Makes a new assertion that requires the expression to throw.

Makes a new assertion that requires the expression to throw.

def throwsA[E : ClassTag]: Assertion[Any]

Makes a new assertion that requires the expression to throw an instance of given type (or its subtype).

Makes a new assertion that requires the expression to throw an instance of given type (or its subtype).

Inherited methods

final def equalTo[A](expected: A): Assertion[A]

Makes a new assertion that requires a value equal the specified value.

Makes a new assertion that requires a value equal the specified value.

Inherited from:
AssertionVariants

Concrete fields

val Render: Render.type

Makes a new assertion that always succeeds.

Makes a new assertion that always succeeds.

Makes a new assertion that requires an Iterable is distinct.

Makes a new assertion that requires an Iterable is distinct.

Makes a new assertion that requires an Iterable to be empty.

Makes a new assertion that requires an Iterable to be empty.

Makes a new assertion that requires a given string to be empty.

Makes a new assertion that requires a given string to be empty.

Makes a new assertion that requires a Try value is Failure.

Makes a new assertion that requires a Try value is Failure.

val isLeft: Assertion[Either[Any, Any]]

Makes a new assertion that requires an Either is Left.

Makes a new assertion that requires an Either is Left.

Makes a new assertion that requires an Iterable to be non empty.

Makes a new assertion that requires an Iterable to be non empty.

Makes a new assertion that requires a given string to be non empty.

Makes a new assertion that requires a given string to be non empty.

Makes a new assertion that requires a None value.

Makes a new assertion that requires a None value.

val isNull: Assertion[Any]

Makes a new assertion that requires a null value.

Makes a new assertion that requires a null value.

val isRight: Assertion[Either[Any, Any]]

Makes a new assertion that requires an Either is Right.

Makes a new assertion that requires an Either is Right.

Makes a new assertion that requires an Option is Some.

Makes a new assertion that requires an Option is Some.

Makes a new assertion that requires a Try value is Success.

Makes a new assertion that requires a Try value is Success.

Makes a new assertion that requires the value be unit.

Makes a new assertion that requires the value be unit.

val nothing: Assertion[Any]

Makes a new assertion that always fails.

Makes a new assertion that always fails.