26 lines
786 B
Kotlin
26 lines
786 B
Kotlin
package org.thoughtcrime.securesms
|
|
|
|
import kotlinx.coroutines.Dispatchers
|
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
|
import kotlinx.coroutines.test.StandardTestDispatcher
|
|
import kotlinx.coroutines.test.TestDispatcher
|
|
import kotlinx.coroutines.test.resetMain
|
|
import kotlinx.coroutines.test.setMain
|
|
import org.junit.rules.TestWatcher
|
|
import org.junit.runner.Description
|
|
|
|
@ExperimentalCoroutinesApi
|
|
class MainCoroutineRule(private val dispatcher: TestDispatcher = StandardTestDispatcher()) :
|
|
TestWatcher() {
|
|
|
|
override fun starting(description: Description) {
|
|
super.starting(description)
|
|
Dispatchers.setMain(dispatcher)
|
|
}
|
|
|
|
override fun finished(description: Description) {
|
|
super.finished(description)
|
|
Dispatchers.resetMain()
|
|
}
|
|
}
|