trait JavaFutures extends Futures
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.
- Source
- JavaFutures.scala
- Alphabetic
- By Inheritance
- JavaFutures
- Futures
- PatienceConfiguration
- AbstractPatienceConfiguration
- ScaledTimeSpans
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final case class PatienceConfig(timeout: Span = scaled(Span(150, Millis)), interval: Span = scaled(Span(15, Millis))) extends Product with Serializable
Configuration object for asynchronous constructs, such as those provided by traits
Eventually
andWaiters
.Configuration object for asynchronous constructs, such as those provided by traits
Eventually
andWaiters
.The default values for the parameters are:
Configuration Parameter Default Value timeout
scaled(150 milliseconds)
interval
scaled(15 milliseconds)
- timeout
the maximum amount of time to wait for an asynchronous operation to complete before giving up and throwing
TestFailedException
.- interval
the amount of time to sleep between each check of the status of an asynchronous operation when polling
- Definition Classes
- AbstractPatienceConfiguration
- trait FutureConcept[T] extends AnyRef
Concept trait for futures, instances of which are passed to the
whenReady
methods of traitFutures
.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- implicit def convertJavaFuture[T](javaFuture: Future[T]): FutureConcept[T]
Implicitly converts a
java.util.concurrent.Future[T]
toFutureConcept[T]
, allowing you to invoke the methods defined onFutureConcept
on a JavaFuture
, as well as to pass a Java future to thewhenReady
methods of supertraitFutures
.Implicitly converts a
java.util.concurrent.Future[T]
toFutureConcept[T]
, allowing you to invoke the methods defined onFutureConcept
on a JavaFuture
, as well as to pass a Java future to thewhenReady
methods of supertraitFutures
.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 throwsjava.util.concurrent.ExecutionException
, and this exception contains a non-null
cause, that cause will be included in theTestFailedException
as its cause. TheExecutionException
will be be included as theTestFailedException
's cause only if theExecutionException
's cause isnull
.The
isExpired
method of the returnedFutureConcept
will always returnfalse
, because the underlying type,java.util.concurrent.Future
, does not support the notion of a timeout. TheisCanceled
method of the returnedFutureConcept
will return the result of invokingisCancelled
on the underlyingjava.util.concurrent.Future
.- javaFuture
a
java.util.concurrent.Future[T]
to convert- returns
a
FutureConcept[T]
wrapping the passedjava.util.concurrent.Future[T]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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.- Definition Classes
- PatienceConfiguration
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- implicit def patienceConfig: PatienceConfig
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 implicitPatienceConfig
containing your desired default configuration values.- Definition Classes
- PatienceConfiguration → AbstractPatienceConfiguration
- final def scaled(span: Span): Span
Scales the passed
Span
by theDouble
factor returned byspanScaleFactor
.Scales the passed
Span
by theDouble
factor returned byspanScaleFactor
.The
Span
is scaled by invoking itsscaledBy
method, thus this method has the same behavior: The value returned byspanScaleFactor
can be any positive number or zero, including a fractional number. A number greater than one will scale theSpan
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 sameSpan
to be returned. A factor of zero will causeSpan.ZeroLength
to be returned. If overflow occurs,Span.Max
will be returned. If underflow occurs,Span.ZeroLength
will be returned.- Definition Classes
- ScaledTimeSpans
- Exceptions thrown
IllegalArgumentException
if the value returned fromspanScaleFactor
is less than zero
- def spanScaleFactor: Double
The factor by which the
scaled
method will scaleSpan
s.The factor by which the
scaled
method will scaleSpan
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 toRunner
.- Definition Classes
- ScaledTimeSpans
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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.- Definition Classes
- PatienceConfiguration
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final 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 thePatienceConfig
passed implicitly as the last parameter. The interval to sleep between attempts is configured by theinterval
field of thePatienceConfig
passed implicitly as the last parameter.If the
eitherValue
method of the underlying Scala future returns ascala.Some
containing ascala.util.Failure
containing ajava.util.concurrent.ExecutionException
, and this exception contains a non-null
cause, that cause will be included in theTestFailedException
as its cause. TheExecutionException
will be be included as theTestFailedException
's cause only if theExecutionException
's cause isnull
.- future
the future to query
- fun
the function to which pass the future's value when it is ready
- config
an
PatienceConfig
object containingtimeout
andinterval
parameters that are unused by this method- returns
the result of invoking the
fun
parameter
- Definition Classes
- Futures
- final 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 thePatienceConfig
passed implicitly as the last parameter. The interval to sleep between attempts is configured by the value contained in the passedinterval
parameter.- future
the future to query
- interval
the
Interval
configuration parameter- fun
the function to which pass the future's value when it is ready
- config
an
PatienceConfig
object containingtimeout
andinterval
parameters that are unused by this method- returns
the result of invoking the
fun
parameter
- Definition Classes
- Futures
- final 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 passedtimeout
parameter. The interval to sleep between attempts is configured by theinterval
field of thePatienceConfig
passed implicitly as the last parameter.If the
eitherValue
method of the underlying Scala future returns ascala.Some
containing ascala.util.Failure
containing ajava.util.concurrent.ExecutionException
, and this exception contains a non-null
cause, that cause will be included in theTestFailedException
as its cause. TheExecutionException
will be be included as theTestFailedException
's cause only if theExecutionException
's cause isnull
.- future
the future to query
- timeout
the
Timeout
configuration parameter- fun
the function to which pass the future's value when it is ready
- config
an
PatienceConfig
object containingtimeout
andinterval
parameters that are unused by this method- returns
the result of invoking the
fun
parameter
- Definition Classes
- Futures
- final 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 passedtimeout
parameter. The interval to sleep between attempts is configured by the value contained in the passedinterval
parameter.If the
eitherValue
method of the underlying Scala future returns ascala.Some
containing ascala.util.Failure
containing ajava.util.concurrent.ExecutionException
, and this exception contains a non-null
cause, that cause will be included in theTestFailedException
as its cause. TheExecutionException
will be be included as theTestFailedException
's cause only if theExecutionException
's cause isnull
.- future
the future to query
- timeout
the
Timeout
configuration parameter- interval
the
Interval
configuration parameter- fun
the function to which pass the future's value when it is ready
- config
an
PatienceConfig
object containingtimeout
andinterval
parameters that are unused by this method- returns
the result of invoking the
fun
parameter
- Definition Classes
- Futures