JavaFutures
Provides an implicit conversion from java.util.concurrent.Future[T]
to
FutureConcept[T]
.
This trait enables you to invoke the methods defined on FutureConcept
on a Java Future
, as well as to pass a Java 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.
Type members
Inherited classlikes
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
.
- Inherited from:
- AbstractPatienceConfiguration
Value members
Inherited methods
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.
- Inherited from:
- PatienceConfiguration
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.
- Throws:
- IllegalArgumentException
if the value returned from
spanScaleFactor
is less than zero
- Inherited from:
- ScaledTimeSpans
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
.
- Inherited from:
- ScaledTimeSpans
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.
- Inherited from:
- PatienceConfiguration
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 containingtimeout
andinterval
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
- Returns:
the result of invoking the
fun
parameter- Inherited from:
- Futures
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 containingtimeout
andinterval
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
- Returns:
the result of invoking the
fun
parameter- Inherited from:
- Futures
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 containingtimeout
andinterval
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
- Returns:
the result of invoking the
fun
parameter- Inherited from:
- Futures
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 containingtimeout
andinterval
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
- Returns:
the result of invoking the
fun
parameter- Inherited from:
- Futures
Implicits
Implicits
Implicitly converts a java.util.concurrent.Future[T]
to
FutureConcept[T]
, allowing you to invoke the methods
defined on FutureConcept
on a Java Future
, as well as to pass a Java future
to the whenReady
methods of supertrait Futures
.
Implicitly converts a java.util.concurrent.Future[T]
to
FutureConcept[T]
, allowing you to invoke the methods
defined on FutureConcept
on a Java Future
, as well as to pass a Java 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 get
method of the underlying Java future throws 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, java.util.concurrent.Future
, does not support the notion of a timeout. The isCanceled
method of the returned FutureConcept
will return the result of invoking isCancelled
on the underlying
java.util.concurrent.Future
.
- Value parameters:
- javaFuture
a
java.util.concurrent.Future[T]
to convert
- Returns:
a
FutureConcept[T]
wrapping the passedjava.util.concurrent.Future[T]
Inherited implicits
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.
- Inherited from:
- PatienceConfiguration