Add ClockMark and measureTime tests with test clock

This commit is contained in:
Ilya Gorbunov
2019-04-15 23:25:35 +03:00
parent b5d16f1a9b
commit 682430766b
2 changed files with 59 additions and 0 deletions
@@ -44,4 +44,26 @@ class MeasureTimeTest {
assertEquals(someResult, result)
assertTrue(elapsed > Duration.ZERO)
}
@Test fun measureTimeTestClock() {
val clock = TestClock(unit = DurationUnit.NANOSECONDS)
val expectedNs = Random.nextLong(1_000_000_000L)
val elapsed = clock.measureTime {
clock.reading += expectedNs
}
assertEquals(expectedNs.nanoseconds, elapsed)
val expectedResult: Long
val (result, elapsed2) = clock.withMeasureTime {
clock.reading += expectedNs
expectedResult = expectedNs
expectedNs
}
assertEquals(expectedResult, result)
assertEquals(result.nanoseconds, elapsed2)
}
}