ScalaFutures

org.scalatest.concurrent.ScalaFutures
See theScalaFutures companion trait
object ScalaFutures extends ScalaFutures

Companion object that facilitates the importing of ScalaFutures members as an alternative to mixing in the trait. One use case is to import ScalaFutures's members so you can use them in the Scala interpreter.

Attributes

Companion
trait
Graph
Supertypes
trait ScalaFutures
trait Futures
class Object
trait Matchable
class Any
Show all
Self type

Members list

Type members

Inherited classlikes

trait FutureConcept[T]

Concept trait for futures, instances of which are passed to the whenReady methods of trait Futures.

Concept trait for futures, instances of which are passed to the whenReady methods of trait Futures.

See the documentation for trait Futures for the details on the syntax this trait provides for testing with futures.

Attributes

Inherited from:
Futures
Supertypes
class Object
trait Matchable
class Any
final case class PatienceConfig(timeout: Span, interval: Span)

Configuration object for asynchronous constructs, such as those provided by traits Eventually and Waiters.

Configuration object for asynchronous constructs, such as those provided by traits Eventually and Waiters.

The default values for the parameters are:

Configuration Parameter Default Value
timeout scaled(150 milliseconds)
interval scaled(15 milliseconds)

Value parameters

interval

the amount of time to sleep between each check of the status of an asynchronous operation when polling

timeout

the maximum amount of time to wait for an asynchronous operation to complete before giving up and throwing TestFailedException.

Attributes

Inherited from:
AbstractPatienceConfiguration
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Value members

Inherited methods

def interval(value: Span): Interval

Returns an Interval configuration parameter containing the passed value, which specifies the amount of time to sleep after a retry.

Returns an Interval configuration parameter containing the passed value, which specifies the amount of time to sleep after a retry.

Attributes

Inherited from:
PatienceConfiguration
final def scaled(span: Span): Span

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.

Attributes

Throws
IllegalArgumentException

if the value returned from spanScaleFactor is less than zero

Inherited from:
ScaledTimeSpans
def spanScaleFactor: Double

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.

Attributes

Inherited from:
ScaledTimeSpans
def timeout(value: Span): Timeout

Returns a Timeout configuration parameter containing the passed value, which specifies the maximum amount to wait for an asynchronous operation to complete.

Returns a Timeout configuration parameter containing the passed value, which specifies the maximum amount to wait for an asynchronous operation to complete.

Attributes

Inherited from:
PatienceConfiguration
final inline def whenReady[T, U](future: FutureConcept[T])(fun: T => U)(implicit config: PatienceConfig, pos: Position): U

Queries the passed future repeatedly until it either is ready, or a configured maximum amount of time has passed, sleeping a configured interval between attempts; and when ready, passes the future's value to the passed function.

Queries the passed future repeatedly until it either is ready, or a configured maximum amount of time has passed, sleeping a configured interval between attempts; and when ready, passes the future's value to the passed function.

The maximum amount of time in milliseconds to tolerate unsuccessful attempts before giving up is configured by the timeout field of the PatienceConfig passed implicitly as the last parameter. The interval to sleep between attempts is configured by the interval field of the PatienceConfig passed implicitly as the last parameter.

If the eitherValue method of the underlying Scala future returns a scala.Some containing a scala.util.Failure containing a java.util.concurrent.ExecutionException, and this exception contains a non-null cause, that cause will be included in the TestFailedException as its cause. The ExecutionException will be be included as the TestFailedException's cause only if the ExecutionException's cause is null.

Value parameters

config

an PatienceConfig object containing timeout and interval parameters that are unused by this method

fun

the function to which pass the future's value when it is ready

future

the future to query

Attributes

Returns

the result of invoking the fun parameter

Inherited from:
Futures
final inline def whenReady[T, U](future: FutureConcept[T], interval: Interval)(fun: T => U)(implicit config: PatienceConfig, pos: Position): U

Queries the passed future repeatedly until it either is ready, or a configured maximum amount of time has passed, sleeping a configured interval between attempts; and when ready, passes the future's value to the passed function.

Queries the passed future repeatedly until it either is ready, or a configured maximum amount of time has passed, sleeping a configured interval between attempts; and when ready, passes the future's value to the passed function.

The maximum amount of time in milliseconds to tolerate unsuccessful attempts before giving up is configured by the timeout field of the PatienceConfig passed implicitly as the last parameter. The interval to sleep between attempts is configured by the value contained in the passed interval parameter.

Value parameters

config

an PatienceConfig object containing timeout and interval parameters that are unused by this method

fun

the function to which pass the future's value when it is ready

future

the future to query

interval

the Interval configuration parameter

Attributes

Returns

the result of invoking the fun parameter

Inherited from:
Futures
final inline def whenReady[T, U](future: FutureConcept[T], timeout: Timeout)(fun: T => U)(implicit config: PatienceConfig, pos: Position): U

Queries the passed future repeatedly until it either is ready, or a configured maximum amount of time has passed, sleeping a configured interval between attempts; and when ready, passes the future's value to the passed function.

Queries the passed future repeatedly until it either is ready, or a configured maximum amount of time has passed, sleeping a configured interval between attempts; and when ready, passes the future's value to the passed function.

The maximum amount of time in milliseconds to tolerate unsuccessful queries before giving up and throwing TestFailedException is configured by the value contained in the passed timeout parameter. The interval to sleep between attempts is configured by the interval field of the PatienceConfig passed implicitly as the last parameter.

If the eitherValue method of the underlying Scala future returns a scala.Some containing a scala.util.Failure containing a java.util.concurrent.ExecutionException, and this exception contains a non-null cause, that cause will be included in the TestFailedException as its cause. The ExecutionException will be be included as the TestFailedException's cause only if the ExecutionException's cause is null.

Value parameters

config

an PatienceConfig object containing timeout and interval parameters that are unused by this method

fun

the function to which pass the future's value when it is ready

future

the future to query

timeout

the Timeout configuration parameter

Attributes

Returns

the result of invoking the fun parameter

Inherited from:
Futures
final inline def whenReady[T, U](future: FutureConcept[T], timeout: Timeout, interval: Interval)(fun: T => U)(implicit config: PatienceConfig, pos: Position): U

Queries the passed future repeatedly until it either is ready, or a configured maximum amount of time has passed, sleeping a configured interval between attempts; and when ready, passes the future's value to the passed function.

Queries the passed future repeatedly until it either is ready, or a configured maximum amount of time has passed, sleeping a configured interval between attempts; and when ready, passes the future's value to the passed function.

The maximum amount of time to tolerate unsuccessful queries before giving up and throwing TestFailedException is configured by the value contained in the passed timeout parameter. The interval to sleep between attempts is configured by the value contained in the passed interval parameter.

If the eitherValue method of the underlying Scala future returns a scala.Some containing a scala.util.Failure containing a java.util.concurrent.ExecutionException, and this exception contains a non-null cause, that cause will be included in the TestFailedException as its cause. The ExecutionException will be be included as the TestFailedException's cause only if the ExecutionException's cause is null.

Value parameters

config

an PatienceConfig object containing timeout and interval parameters that are unused by this method

fun

the function to which pass the future's value when it is ready

future

the future to query

interval

the Interval configuration parameter

timeout

the Timeout configuration parameter

Attributes

Returns

the result of invoking the fun parameter

Inherited from:
Futures

Implicits

Inherited implicits

implicit def convertScalaFuture[T](scalaFuture: Future[T]): FutureConcept[T]

Implicitly converts a scala.concurrent.Future[T] to FutureConcept[T], allowing you to invoke the methods defined on FutureConcept on a Scala Future, as well as to pass a Scala future to the whenReady methods of supertrait Futures.

Implicitly converts a scala.concurrent.Future[T] to FutureConcept[T], allowing you to invoke the methods defined on FutureConcept on a Scala Future, as well as to pass a Scala future to the whenReady methods of supertrait Futures.

See the documentation for supertrait Futures for the details on the syntax this trait provides for testing with Java futures.

If the eitherValue method of the underlying Scala future returns a scala.Some containing a scala.util.Failure containing a java.util.concurrent.ExecutionException, and this exception contains a non-null cause, that cause will be included in the TestFailedException as its cause. The ExecutionException will be be included as the TestFailedException's cause only if the ExecutionException's cause is null.

The isExpired method of the returned FutureConcept will always return false, because the underlying type, scala.concurrent.Future, does not support the notion of expiration. Likewise, the isCanceled method of the returned FutureConcept will always return false, because the underlying type, scala.concurrent.Future, does not support the notion of cancelation.

Value parameters

scalaFuture

a scala.concurrent.Future[T] to convert

Attributes

Returns

a FutureConcept[T] wrapping the passed scala.concurrent.Future[T]

Inherited from:
ScalaFutures

Implicit PatienceConfig value providing default configuration values.

Implicit PatienceConfig value providing default configuration values.

To change the default configuration, override or hide this def with another implicit PatienceConfig containing your desired default configuration values.

Attributes

Inherited from:
PatienceConfiguration