TestTimeSource
@ExperimentalTime class TestTimeSource :
AbstractLongTimeSource
A time source that has programmatically updatable readings. It is useful as a predictable source of time in tests.
The current reading value can be advanced by the specified duration amount with the operator plusAssign:
val timeSource = TestTimeSource()
timeSource += 10.seconds
Implementation note: the current reading value is stored as a Long number of nanoseconds, thus it's capable to represent a time range of approximately ±292 years. Should the reading value overflow as the result of plusAssign operation, an IllegalStateException is thrown.
Constructors
<init>
A time source that has programmatically updatable readings. It is useful as a predictable source of time in tests.
TestTimeSource()
Functions
Extension Functions
measureTime
Executes the given function block and returns the duration of elapsed time interval.
fun TimeSource.measureTime(block: () -> Unit): Duration
measureTimedValue
Executes the given block and returns an instance of TimedValue class, containing both the result of function execution and the duration of elapsed time interval.
fun <T> TimeSource.measureTimedValue(
block: () -> T
): TimedValue<T>