Configuration object for asynchronous constructs, such as those provided by traits Eventually
and
AsyncAssertions
.
Returns a PatienceConfig
value providing default configuration values if implemented and made implicit in subtraits.
Returns a PatienceConfig
value providing default configuration values if implemented and made implicit in subtraits.
Scales the passed Span
by the Double
factor returned
by spanScaleFactor
.
Scales the passed Span
by the Double
factor returned
by spanScaleFactor
.
The Span
is scaled by invoking its scaledBy
method,
thus this method has the same behavior:
The value returned by spanScaleFactor
can be any positive number or zero,
including a fractional number. A number greater than one will scale the Span
up to a larger value. A fractional number will scale it down to a smaller value. A
factor of 1.0 will cause the exact same Span
to be returned. A
factor of zero will cause Span.ZeroLength
to be returned.
If overflow occurs, Span.Max
will be returned. If underflow occurs,
Span.ZeroLength
will be returned.
The factor by which the scaled
method will scale Span
s.
The factor by which the scaled
method will scale Span
s.
The default implementation of this method will return the span scale factor that
was specified for the run, or 1.0 if no factor was specified. For example, you can specify a span scale factor when invoking ScalaTest
via the command line by passing a -F
argument to Runner
.
Trait that defines an abstract
patienceConfig
method that is implemented inPatienceConfiguration
and can be overriden in stackable modification traits such asIntegrationPatience
.The main purpose of
AbstractPatienceConfiguration
is to differentiate corePatienceConfiguration
traits, such asEventually
andAsyncAssertions
, from stackable modification traits forPatienceConfiguration
s such asIntegrationPatience
. Because these stackable traits extendAbstractPatienceConfiguration
instead ofSuite
, you can't simply mix in a stackable trait:The previous code is undesirable because
IntegrationPatience
would have no affect on the class. Instead, you need to mix in a corePatienceConfiguration
trait and mix the stackableIntegrationPatience
trait into that, like this:The previous code is better because
IntegrationPatience
does have an effect: it modifies the behavior ofEventually
.