Refactoring

This commit is contained in:
2021-09-09 10:56:56 +02:00
parent 5ddccb03a8
commit 066f6e2dff
19 changed files with 34 additions and 35 deletions
@@ -0,0 +1,25 @@
package com.ericampire.android.androidstudycase.util.test
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestCoroutineDispatcher
import org.junit.jupiter.api.extension.ExtensionContext
import org.junit.jupiter.api.extension.ParameterContext
import org.junit.jupiter.api.extension.ParameterResolver
@ExperimentalCoroutinesApi
class CoroutineDispatcherExtension : ParameterResolver {
override fun supportsParameter(
parameterContext: ParameterContext,
extensionContext: ExtensionContext?
): Boolean {
return parameterContext.parameter.type.equals(TestCoroutineDispatcher::class.java)
}
override fun resolveParameter(
parameterContext: ParameterContext?,
extensionContext: ExtensionContext?
): Any {
return TestCoroutineDispatcher()
}
}
@@ -0,0 +1,24 @@
package com.ericampire.android.androidstudycase.util.test
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestCoroutineScope
import org.junit.jupiter.api.extension.ExtensionContext
import org.junit.jupiter.api.extension.ParameterContext
import org.junit.jupiter.api.extension.ParameterResolver
@ExperimentalCoroutinesApi
class CoroutineScopeExtension : ParameterResolver {
override fun supportsParameter(
parameterContext: ParameterContext,
extensionContext: ExtensionContext?
): Boolean {
return parameterContext.parameter.type.equals(TestCoroutineScope::class.java)
}
override fun resolveParameter(
parameterContext: ParameterContext?,
extensionContext: ExtensionContext?
): Any {
return TestCoroutineScope()
}
}
@@ -0,0 +1,25 @@
package com.ericampire.android.androidstudycase.util.test
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestCoroutineDispatcher
import kotlinx.coroutines.test.resetMain
import kotlinx.coroutines.test.setMain
import org.junit.jupiter.api.extension.AfterAllCallback
import org.junit.jupiter.api.extension.BeforeAllCallback
import org.junit.jupiter.api.extension.ExtensionContext
@ExperimentalCoroutinesApi
class MainCoroutineExtension : BeforeAllCallback, AfterAllCallback {
private val testDispatcher: TestCoroutineDispatcher = TestCoroutineDispatcher()
override fun beforeAll(context: ExtensionContext?) {
Dispatchers.setMain(testDispatcher)
}
override fun afterAll(context: ExtensionContext?) {
Dispatchers.resetMain()
testDispatcher.cleanupTestCoroutines()
}
}