This class is part of the Scalactic “explicitly DSL”.
This class is part of the Scalactic “explicitly DSL”. Please
see the documentation for Explicitly
for an overview of
the explicitly DSL.
Instances of this class are returned via the decided
by
<an Equality>
syntax, and enables afterBeing
to be invoked on it. Here's an example, given an
Equality[String]
named myStringEquality
:
result should equal ("hello") (decided by myStringEquality afterBeing lowerCased)
This class is part of the Scalactic “explicitly DSL”.
This class is part of the Scalactic “explicitly DSL”. Please
see the documentation for Explicitly
for an overview of
the explicitly DSL.
This class is part of the Scalactic “explicitly DSL”.
This class is part of the Scalactic “explicitly DSL”. Please
see the documentation for Explicitly
for an overview of
the explicitly DSL.
Instances of this class are returned via the decided
by
<an Equivalence>
syntax, and enables afterBeing
to be invoked on it. Here's an example, given an
Equivalence[String]
named myStringEquivalence
:
result should equal ("hello") (determined by myStringEquivalence afterBeing lowerCased)
This class is part of the Scalactic “explicitly DSL”.
This class is part of the Scalactic “explicitly DSL”. Please
see the documentation for Explicitly
for an overview of
the explicitly DSL.
This class is part of the Scalactic “explicitly DSL”.
This class is part of the Scalactic “explicitly DSL”. Please
see the documentation for Explicitly
for an overview of
the explicitly DSL.
This field enables syntax such as the following:
This field enables syntax such as the following:
result should equal ("hello") (after being lowerCased)
^
This field enables syntax such as the following:
This field enables syntax such as the following:
result should equal ("hello") (decided by defaultEquality)
^
This field enables syntax such as the following, given an
Equivalence[String]
named myStringEquivalence
:
This field enables syntax such as the following, given an
Equivalence[String]
named myStringEquivalence
:
result should equal ("hello") (determined by myStringEquivalence)
^
Provides ScalaTest's “explicitly DSL,” which facilitates the explicit specification of an
Equality[T]
or aUniformity[T]
whereEquality[T]
is taken implicitly.The Explicitly DSL can be used with the
===
and!==
operators of Scalactic as well as theshould
equal
,be
,contain
, and===
syntax of ScalaTest matchers.If you want to customize equality for a type in general, you would likely want to place an implicit
Equality[T]
for that type in scope (or inT
's companion object). That implicit equality definition will then be picked up and used when that type is compared for equality with theequal
,be
, andcontain
matchers in ScalaTest tests and with===
in both tests and production code. If you just want to use a custom equality for a single comparison, however, you may prefer to pass it explicitly. For example, if you have an implicitEquality[String]
in scope, you can force a comparison to use the default equality with this syntax:The explicitly DSL also provides support for specifying a one-off equality that is based on a normalization. For example, Scalactic offers a
StringNormalizations
trait that provides methods such astrimmed
andlowerCased
that returnNormalization[String]
instances that normalize by trimming and lower-casing, respectively. If you bring those into scope by mixing in or importing the members ofStringNormalizations
, you could use the explicitly DSL like this:If you prefer not to use English-like DSLs in your production code, you can alternatively not use the
Explicitly
trait and instead write: