Companion object for Span
that provides two factory methods for creating Span
instances.
The first argument to each factory method is a numeric value; the second argument is a Units
value.
One factory method takes a Long
, so it can be invoked with either an Int
or
Long, as in:
import org.scalatest.time._ Span(1, Second) Span(1L, Millisecond)
The other factory method takes a Double
, so it can be invoked with either a Float
or
a Double
:
import org.scalatest.time._ Span(2.5F, Seconds) Span(99.9, Microseconds)
- Companion:
- class
Value members
Concrete methods
Returns a Span
representing the passed Long
length
of time in the
passed units
.
Returns a Span
representing the passed Long
length
of time in the
passed units
.
If the requested time span is less than zero or greater than Long.MaxValue
nanoseconds, this method will throw
an IllegalArgumentException
. (Note: a zero-length time span is allowed, just not a negative or
too-large time span.)
- Value parameters:
- length
the length of time denominated by the passed
units
- units
the units of time for the passed
length
- Returns:
a
Span
representing the requested time span- Throws:
- IllegalArgumentException
if the requested time span is greater than
Long.MaxValue
nanoseconds, the maximum time span expressible with aSpan
Returns a Span
representing the passed Double
length
of time in the
passed units
.
Returns a Span
representing the passed Double
length
of time in the
passed units
.
If the requested time span is less than 0.0
or, when converted to Long
number of nanoseconds, would be greater than
Long.MaxValue
nanoseconds, this method will throw an IllegalArgumentException
.
(Note: a zero-length time span is allowed, just not a negative or too-large time span.)
- Value parameters:
- length
the length of time denominated by the passed
units
- units
the units of time for the passed
length
- Returns:
a
Span
representing the requested time span- Throws:
- IllegalArgumentException
if the requested time span, when converted to
Long
number of nanoseconds, would be greater thanLong.MaxValue
nanoseconds, the maximum time span expressible with aSpan
Concrete fields
A Span
with the maximum expressible value, Span(Long.MaxValue, Nanoseconds)
,
which is approximately 292 years.
A Span
with the maximum expressible value, Span(Long.MaxValue, Nanoseconds)
,
which is approximately 292 years.
One use case for this Span
value is to help convert a duration concept from a different library to
Span
when that library's duration concept includes a notion of infinite durations. An infinite
duration can be converted to Span.Max
.
- Returns:
a
Span
with the maximum expressible value,Long.MaxValue
nanoseconds.
Implicits
Implicits
Implicitly converts a scala.concurrent.duration.Duration
to a Span
,
so that a Duration
can be used where a Span
is needed.
Implicitly converts a scala.concurrent.duration.Duration
to a Span
,
so that a Duration
can be used where a Span
is needed.
This function transforms Duration.MinusInf
to Span.Zero
, Duration.Inf
and Undefined
to Span.Max
, and all others to a Span
containing a
corresponing number of nanoseconds.