INNER CODE UNIT · Kotlin

KoinGraphTest

anilbeesetti/nextplayer · app/src/androidTest/java/dev/anilbeesetti/nextplayer/KoinGraphTest.kt:56

class KoinGraphTest {
    private val koin get() = GlobalContext.get()

    @Test
    fun sharedServicesAndAllThreePreferenceStoresResolve() {
        runBlocking {
            assertSame(koin.get<PreferencesRepository>(), koin.get<PreferencesRepository>())
            assertSame(koin.get<MediaOperationsService>(), koin.get<MediaOperationsService>())
            assertSame(koin.get<MediaService>(), koin.get<MediaService>())
            assertSame(koin.get<MediaSynchronizer>(), koin.get<MediaSynchronizer>())
            assertSame(koin.get<NextDataSourceFactory>(), koin.get<NextDataSourceFactory>())
            withTimeout(10_000) {
                // Read the typed values to catch collisions between erased DataStore keys.
                koin.get<DataStore<ApplicationPreferences>>(named(DiQualifiers.APP_PREFERENCES)).data.first().mediaViewMode
                koin.get<DataStore<PlayerPreferences>>(named(DiQualifiers.PLAYER_PREFERENCES)).data.first().resume
                koin.get<DataStore<SearchHistory>>(named(DiQualifiers.SEARCH_HISTORY)).data.first().queries.size
            }
        }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…