package kotlinx.coroutines.test import kotlinx.coroutines.* import org.junit.* import kotlin.coroutines.* import kotlin.test.assertEquals class TestCoroutineDispatcherOrderTest : TestBase() { @Test fun testAdvanceTimeBy_progressesOnEachDelay() { val dispatcher = TestCoroutineDispatcher() val scope = TestCoroutineScope(dispatcher) expect(1) scope.launch { expect(2) delay(1_000) assertEquals(1_000, dispatcher.currentTime) expect(4) delay(5_00) assertEquals(1_500, dispatcher.currentTime) expect(5) delay(501) assertEquals(2_001, dispatcher.currentTime) expect(7) } expect(3) assertEquals(0, dispatcher.currentTime) dispatcher.advanceTimeBy(2_000) expect(6) assertEquals(2_000, dispatcher.currentTime) dispatcher.advanceTimeBy(2) expect(8) assertEquals(2_002, dispatcher.currentTime) scope.cleanupTestCoroutines() finish(9) } }