AndroidAPS/app/src/test/java/info/nightscout/androidaps/TestBase.kt

37 lines
1.2 KiB
Kotlin
Raw Normal View History

2020-03-17 23:45:51 +01:00
package info.nightscout.androidaps
2020-02-28 22:51:12 +01:00
2020-03-10 18:58:27 +01:00
import dagger.android.AndroidInjector
import dagger.android.HasAndroidInjector
2020-03-09 00:28:51 +01:00
import info.nightscout.androidaps.data.Profile
2020-03-09 23:24:46 +01:00
import info.nightscout.androidaps.data.ProfileStore
2020-03-09 00:28:51 +01:00
import org.json.JSONObject
2020-03-14 16:47:48 +01:00
import org.junit.Before
2020-02-28 22:51:12 +01:00
import org.junit.Rule
import org.mockito.Mockito
import org.mockito.junit.MockitoJUnit
import org.mockito.junit.MockitoRule
2020-03-14 16:47:48 +01:00
import java.util.*
2020-02-28 22:51:12 +01:00
open class TestBase {
// Add a JUnit rule that will setup the @Mock annotated vars and log.
// Another possibility would be to add `MockitoAnnotations.initMocks(this) to the setup method.
@get:Rule
val mockitoRule: MockitoRule = MockitoJUnit.rule()
2020-03-14 16:47:48 +01:00
@Before
fun setupLocale() {
Locale.setDefault(Locale.ENGLISH)
2020-03-17 22:56:14 +01:00
System.setProperty("disableFirebase", "true")
2020-03-14 16:47:48 +01:00
}
2020-02-28 22:51:12 +01:00
// Workaround for Kotlin nullability.
// https://medium.com/@elye.project/befriending-kotlin-and-mockito-1c2e7b0ef791
// https://stackoverflow.com/questions/30305217/is-it-possible-to-use-mockito-in-kotlin
fun <T> anyObject(): T {
Mockito.any<T>()
return uninitialized()
}
@Suppress("Unchecked_Cast")
fun <T> uninitialized(): T = null as T
}