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.
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.
if the value returned from spanScaleFactor
is less than zero
The factor by which the scaled method will scale Spans.
The factor by which the scaled method will scale Spans.
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
patienceConfigmethod that is implemented inPatienceConfigurationand can be overriden in stackable modification traits such asIntegrationPatience.The main purpose of
AbstractPatienceConfigurationis to differentiate corePatienceConfigurationtraits, such asEventuallyandAsyncAssertions, from stackable modification traits forPatienceConfigurations such asIntegrationPatience. Because these stackable traits extendAbstractPatienceConfigurationinstead ofSuite, you can't simply mix in a stackable trait:The previous code is undesirable because
IntegrationPatiencewould have no affect on the class. Instead, you need to mix in a corePatienceConfigurationtrait and mix the stackableIntegrationPatiencetrait into that, like this:The previous code is better because
IntegrationPatiencedoes have an effect: it modifies the behavior ofEventually.