An Equivalence[A] implementation that determines the equality of two objects by normalizing
one or both objects, then comparing the results using an “after normalization” Equivalence referenced from
the afterNormalizationEquivalence member. By default, the afterNormalizationEquivalence is
an instance of Equivalence.default[A].
NormalizingEquivalence is returned by the Explicitly DSL's “after being”
syntax, using for the afterNormalizationEquivalence the implicit Equivalence in scope for the type
of Normalization passed to being. Here's an example:
scala> import org.scalactic._ import org.scalactic._ scala> import Explicitly._ import Explicitly._ scala> val lowerCased: Normalization[String] = StringNormalizations.lowerCased lowerCased: org.scalactic.Normalization[String] = lowerCased scala> after being lowerCased res0: org.scalactic.NormalizingEquivalence[String] = ComposedNormalizingEquivalence(Equality.default,lowerCased)
Returns a normalized form of the passed object.
Returns a normalized form of the passed object.
If the passed object is already in normal form, this method may return the same instance passed.
the object to normalize
the normalized form of the passed object
The Equivalence with which to determine equality after normalizing the left-hand and right-hand values.
The Equivalence with which to determine equality after normalizing the left-hand and right-hand values.
In this trait's implementation, this val is initialized with the result of invoking Equivalence.default[A].
Thus default Equivalence is the default afterNormalizationEquivalence. This may be changed by overriding
afterNormalizationEquivalence in subclasses.
Returns a new NormalizingEquivalence that combines this and the passed Normalization.
Returns a new NormalizingEquivalence that combines this and the passed Normalization.
The normalized method of the NormalizingEquivalence's returned by this method returns a result
obtained by forwarding the passed value first to this NormalizingEquivalence's implementation of the method,
then passing that result to the passed Normalization's implementation of the method.
Essentially, the body of the composed normalized method is:
uniformityPassedToAnd.normalized(uniformityOnWhichAndWasInvoked.normalized(a))
a Normalization to 'and' with this one
a NormalizingEquivalence representing the composition of this and the passed Normalization
Determines the equality of two objects by normalizing the left-hand value, a, and the right-hand
value, b, then passing them to areEquivalent method of afterNormalizationEquivalence.
Determines the equality of two objects by normalizing the left-hand value, a, and the right-hand
value, b, then passing them to areEquivalent method of afterNormalizationEquivalence.
Both the left-hand value, a, and right-hand value, b, are normalized by passing them to the normalized method of this
NormalizingEquivalence.
a left-hand-side object being compared with another (right-hand-side one) for equality (e.g., a == b)
a right-hand-side object being compared with another (left-hand-side one) for equality (e.g., a == b)
true if the passed objects are "equal," as defined by this Equivalence instance
Converts this NormalizingEquivalence to a Normalization.
Converts this NormalizingEquivalence to a Normalization.
a Normalization whose normalized method
is implemented by forwarding to the normalized method of this NormalizingEquivalence.