c66740a7ed
Use file level ExperimentalTime opt-in in tests.
37 lines
1.1 KiB
Kotlin
37 lines
1.1 KiB
Kotlin
/*
|
|
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
*/
|
|
@file:UseExperimental(ExperimentalTime::class)
|
|
package test.time
|
|
|
|
import kotlin.test.*
|
|
import kotlin.time.*
|
|
|
|
class ClockMarkTest {
|
|
|
|
@Test
|
|
fun adjustment() {
|
|
val clock = TestClock(unit = DurationUnit.NANOSECONDS)
|
|
|
|
val mark = clock.mark()
|
|
val markFuture1 = mark + 1.milliseconds
|
|
val markFuture2 = mark - (-1).milliseconds
|
|
|
|
val markPast1 = mark - 1.milliseconds
|
|
val markPast2 = markFuture1 + (-2).milliseconds
|
|
|
|
clock.reading = 500_000L
|
|
|
|
val elapsed = mark.elapsed()
|
|
val elapsedFromFuture = elapsed - 1.milliseconds
|
|
val elapsedFromPast = elapsed + 1.milliseconds
|
|
|
|
assertEquals(0.5.milliseconds, elapsed)
|
|
assertEquals(elapsedFromFuture, markFuture1.elapsed())
|
|
assertEquals(elapsedFromFuture, markFuture2.elapsed())
|
|
|
|
assertEquals(elapsedFromPast, markPast1.elapsed())
|
|
assertEquals(elapsedFromPast, markPast2.elapsed())
|
|
}
|
|
} |