Class used via an implicit conversion to enable two objects to be compared with
=== and !== with a Boolean result and an enforced type constraint between
two object types.
Class used via an implicit conversion to enable two objects to be compared with
=== and !== with a Boolean result and an enforced type constraint between
two object types. For example:
assert(a === b) assert(c !== d)
You can also check numeric values against another with a tolerance. Here are some examples:
assert(a === (2.0 +- 0.1)) assert(c !== (2.0 +- 0.1))
Class used via an implicit conversion to enable any two objects to be compared with
=== and !== with a Boolean result and no enforced type constraint between
two object types.
Class used via an implicit conversion to enable any two objects to be compared with
=== and !== with a Boolean result and no enforced type constraint between
two object types. For example:
assert(a === b) assert(c !== d)
You can also check numeric values against another with a tolerance. Here are some examples:
assert(a === (2.0 +- 0.1)) assert(c !== (2.0 +- 0.1))
Class used via an implicit conversion to enable two objects to be compared with
=== and !== with a Boolean result and an enforced type constraint between
two object types.
Class used via an implicit conversion to enable two objects to be compared with
=== and !== with a Boolean result and an enforced type constraint between
two object types. For example:
assert(a === b) assert(c !== d)
You can also check numeric values against another with a tolerance. Here are some examples:
assert(a === (2.0 +- 0.1)) assert(c !== (2.0 +- 0.1))
Returns a TripleEqualsInvocationOnSpread[T], given an Spread[T], to facilitate
the “<left> should !== (<pivot> +- <tolerance>)”
syntax of Matchers.
Returns a TripleEqualsInvocationOnSpread[T], given an Spread[T], to facilitate
the “<left> should !== (<pivot> +- <tolerance>)”
syntax of Matchers.
the Spread[T] against which to compare the left-hand value
a TripleEqualsInvocationOnSpread wrapping the passed Spread[T] value, with
expectingEqual set to false.
Returns a TripleEqualsInvocation[Null], given a null reference, to facilitate
the “<left> should !== null” syntax
of Matchers.
Returns a TripleEqualsInvocation[Null], given a null reference, to facilitate
the “<left> should !== null” syntax
of Matchers.
a null reference
a TripleEqualsInvocation wrapping the passed null value, with expectingEqual
set to false.
Returns a TripleEqualsInvocation[T], given an object of type T, to facilitate
the “<left> should !== <right>” syntax
of Matchers.
Returns a TripleEqualsInvocation[T], given an object of type T, to facilitate
the “<left> should !== <right>” syntax
of Matchers.
the right-hand side value for an equality assertion
a TripleEqualsInvocation wrapping the passed right value, with expectingEqual
set to false.
Returns a TripleEqualsInvocationOnSpread[T], given an Spread[T], to facilitate
the “<left> should === (<pivot> +- <tolerance>)”
syntax of Matchers.
Returns a TripleEqualsInvocationOnSpread[T], given an Spread[T], to facilitate
the “<left> should === (<pivot> +- <tolerance>)”
syntax of Matchers.
the Spread[T] against which to compare the left-hand value
a TripleEqualsInvocationOnSpread wrapping the passed Spread[T] value, with
expectingEqual set to true.
Returns a TripleEqualsInvocation[Null], given a null reference, to facilitate
the “<left> should === null” syntax
of Matchers.
Returns a TripleEqualsInvocation[Null], given a null reference, to facilitate
the “<left> should === null” syntax
of Matchers.
a null reference
a TripleEqualsInvocation wrapping the passed null value, with expectingEqual
set to true.
Returns a TripleEqualsInvocation[T], given an object of type T, to facilitate
the “<left> should === <right>” syntax
of Matchers.
Returns a TripleEqualsInvocation[T], given an object of type T, to facilitate
the “<left> should === <right>” syntax
of Matchers.
the right-hand side value for an equality assertion
a TripleEqualsInvocation wrapping the passed right value, with expectingEqual
set to true.
Provides a Constraint[A, B] class for any two types A and B, enforcing the type constraint that B is
implicitly convertible to A, given an implicit Equivalence[A].
Provides a Constraint[A, B] class for any two types A and B, enforcing the type constraint that B is
implicitly convertible to A, given an implicit Equivalence[A].
The returned Constraint's areEqual method uses the implicitly passed Equivalence[A]'s
areEquivalent method to determine equality.
This method is overridden and made implicit by subtrait
ConversionCheckedTripleEquals) and
overriden as non-implicit by the other subtraits in this package.
an Equivalence[A] type class to which the Constraint.areEqual method will delegate to determine equality.
an implicit conversion from B to A
a Constraint[A, B] whose areEqual method delegates to the areEquivalent method of
the passed Equivalence[A].
Provides a Constraint[A, B] for any two types A and B, enforcing the type constraint
that A must be a subtype of B, given an explicit Equivalence[B].
Provides a Constraint[A, B] for any two types A and B, enforcing the type constraint
that A must be a subtype of B, given an explicit Equivalence[B].
This method is used to enable the Explicitly DSL for
TypeCheckedTripleEquals by requiring an explicit Equivalance[B], but
taking an implicit function that provides evidence that A is a subtype of B.
The returned Constraint's areEqual method uses the implicitly passed Equivalence[B]'s
areEquivalent method to determine equality.
This method is overridden and made implicit by subtraits
LowPriorityTypeCheckedConstraint (extended by
TypeCheckedTripleEquals) and
overriden as non-implicit by the other subtraits in this package.
an Equivalence[B] type class to which the Constraint.areEqual method
will delegate to determine equality.
evidence that A is a subype of B
a Constraint[A, B] whose areEqual method delegates to the
areEquivalent method of the passed Equivalence[B].
Provides a Constraint[A, B] class for any two types A and B, enforcing the type constraint that A is
implicitly convertible to B, given an explicit Equivalence[B].
Provides a Constraint[A, B] class for any two types A and B, enforcing the type constraint that A is
implicitly convertible to B, given an explicit Equivalence[B].
This method is used to enable the Explicitly DSL for
ConversionCheckedTripleEquals by requiring an explicit Equivalance[B], but
taking an implicit function that converts from A to B.
The returned Constraint's areEqual method uses the implicitly passed Equivalence[B]'s
areEquivalent method to determine equality.
This method is overridden and made implicit by subtraits
LowPriorityConversionCheckedConstraint (extended by
ConversionCheckedTripleEquals) and
overriden as non-implicit by the other subtraits in this package.
a Constraint[A, B] whose areEqual method delegates to the areEquivalent method of
the passed Equivalence[B].
Provides a Constraint[A, B] for any two types A and B, enforcing the type constraint
that B must be a subtype of A, given an explicit Equivalence[A].
Provides a Constraint[A, B] for any two types A and B, enforcing the type constraint
that B must be a subtype of A, given an explicit Equivalence[A].
This method is used to enable the Explicitly DSL for
TypeCheckedTripleEquals by requiring an explicit Equivalance[B], but
taking an implicit function that provides evidence that A is a subtype of B. For example, under TypeCheckedTripleEquals,
this method (as an implicit method), would be used to compile this statement:
def closeEnoughTo1(num: Double): Boolean = (num === 1.0)(decided by forgivingEquality)
The returned Constraint's areEqual method uses the implicitly passed Equivalence[A]'s
areEquivalent method to determine equality.
This method is overridden and made implicit by subtrait
TypeCheckedTripleEquals) and
overriden as non-implicit by the other subtraits in this package.
evidence that B is a subype of A
a Constraint[A, B] whose areEqual method delegates to the areEquivalent method of
the passed Equivalence[A].
Provides a Constraint[A, B] class for any two types A and B, enforcing the type constraint that B is
implicitly convertible to A, given an explicit Equivalence[A].
Provides a Constraint[A, B] class for any two types A and B, enforcing the type constraint that B is
implicitly convertible to A, given an explicit Equivalence[A].
This method is used to enable the Explicitly DSL for
ConversionCheckedTripleEquals by requiring an explicit Equivalance[A], but
taking an implicit function that converts from B to A. For example, under ConversionCheckedTripleEquals,
this method (as an implicit method), would be used to compile this statement:
def closeEnoughTo1(num: Double): Boolean = (num === 1.0)(decided by forgivingEquality)
The returned Constraint's areEqual method uses the implicitly passed Equivalence[A]'s
areEquivalent method to determine equality.
This method is overridden and made implicit by subtrait
ConversionCheckedTripleEquals) and
overriden as non-implicit by the other subtraits in this package.
an Equivalence[A] type class to which the Constraint.areEqual method will delegate to determine equality.
a Constraint[A, B] whose areEqual method delegates to the areEquivalent method of
the passed Equivalence[A].
Converts to an CheckingEqualizer that provides === and !== operators
that result in Boolean and enforce a type constraint.
Converts to an CheckingEqualizer that provides === and !== operators
that result in Boolean and enforce a type constraint.
This method is overridden and made implicit by subtraits TypeCheckedTripleEquals and
ConversionCheckedTripleEquals, and overriden as
non-implicit by the other subtraits in this package.
the object whose type to convert to CheckingEqualizer.
if left is null.
Converts to an Equalizer that provides === and !== operators that
result in Boolean and enforce no type constraint.
Converts to an Equalizer that provides === and !== operators that
result in Boolean and enforce no type constraint.
This method is overridden and made implicit by subtrait TripleEquals and overriden as non-implicit by the other
subtraits in this package.
the object whose type to convert to Equalizer.
if left is null.
Returns an Equality[A] for any type A that determines equality
by first calling .deep on any Array (on either the left or right side),
then comparing the resulting objects with ==.
Returns an Equality[A] for any type A that determines equality
by first calling .deep on any Array (on either the left or right side),
then comparing the resulting objects with ==.
a default Equality for type A
Provides a Constraint[A, B] class for any two types A and B, enforcing the type constraint that A is
implicitly convertible to B, given an implicit Equivalence[B].
Provides a Constraint[A, B] class for any two types A and B, enforcing the type constraint that A is
implicitly convertible to B, given an implicit Equivalence[B].
The returned Constraint's areEqual method uses the implicitly passed Equivalence[B]'s
areEquivalent method to determine equality.
This method is overridden and made implicit by subtrait
LowPriorityConversionCheckedConstraint (extended by
ConversionCheckedTripleEquals) and
overriden as non-implicit by the other subtraits in this package.
an implicit conversion from A to B
a Constraint[A, B] whose areEqual method delegates to the areEquivalent method of
the passed Equivalence[B].
Provides a Constraint[A, B] for any two types A and B, enforcing the type constraint
that A must be a subtype of B, given an implicit Equivalence[B].
Provides a Constraint[A, B] for any two types A and B, enforcing the type constraint
that A must be a subtype of B, given an implicit Equivalence[B].
The returned Constraint's areEqual method uses the implicitly passed Equivalence[A]'s
areEquivalent method to determine equality.
This method is overridden and made implicit by subtrait
LowPriorityTypeCheckedConstraint (extended by
TypeCheckedTripleEquals) and
overriden as non-implicit by the other subtraits in this package.
an Equivalence[B] type class to which the Constraint.areEqual method
will delegate to determine equality.
evidence that A is a subype of B
a Constraint[A, B] whose areEqual method delegates to the
areEquivalent method of the passed Equivalence[B].
Provides a Constraint[A, B] for any two types A and B, enforcing the type constraint
that B must be a subtype of A, given an implicit Equivalence[A].
Provides a Constraint[A, B] for any two types A and B, enforcing the type constraint
that B must be a subtype of A, given an implicit Equivalence[A].
The returned Constraint's areEqual method uses the implicitly passed Equivalence[A]'s
areEquivalent method to determine equality.
This method is overridden and made implicit by subtrait
TypeCheckedTripleEquals) and
overriden as non-implicit by the other subtraits in this package.
evidence that B is a subype of A
a Constraint[A, B] whose areEqual method delegates to the areEquivalent method of
the passed Equivalence[A].
Provides a Constraint[A, B] class for any two types A and B, with no type constraint enforced, given an
implicit Equality[A].
Provides a Constraint[A, B] class for any two types A and B, with no type constraint enforced, given an
implicit Equality[A].
The returned Constraint's areEqual method uses the implicitly passed Equality[A]'s
areEqual method to determine equality.
This method is overridden and made implicit by subtrait TripleEquals
and overriden as non-implicit by the other subtraits in this package.
an Equality[A] type class to which the Constraint.areEqual method will delegate to determine equality.
a Constraint[A, B] whose areEqual method delegates to the areEqual method of
the passed Equality[A].