From 3e6b22dee45dcc10008414646acdde4ab198f745 Mon Sep 17 00:00:00 2001 From: Matthias Urhahn <matthias.urhahn@sap.com> Date: Mon, 25 Jan 2021 14:50:05 +0100 Subject: [PATCH] Refactor DispatcherProvider to improve testing coroutine timing (DEV) #2190 * Adjust DispatcherProvider interface to return type `CoroutineContext`. This is a preamble to fix a few coroutine tests that require time advancement. We need to be able to pass the TestCoroutineScope's context to classes under test. This can now be done using CoroutineContext.asDispatcherProvider(). * Fix compile error in test Co-authored-by: Ralf Gehrer <ralfgehrer@users.noreply.github.com> Co-authored-by: ralfgehrer <mail@ralfgehrer.com> --- .../ContactDiaryDayFragmentTest.kt | 6 ++-- .../ContactDiaryEditLocationsFragmentTest.kt | 2 +- .../ContactDiaryEditPersonsFragmentTest.kt | 2 +- .../ContactDiaryOverviewFragmentTest.kt | 2 +- .../ui/main/home/HomeFragmentTest.kt | 2 +- ...ardingDeltaInteroperabilityFragmentTest.kt | 4 +-- .../OnboardingTracingFragmentTest.kt | 2 +- .../SubmissionConsentFragmentTest.kt | 3 +- .../SubmissionSymptomCalendarFragmentTest.kt | 2 +- .../SubmissionSymptomIntroFragmentTest.kt | 2 +- .../submission/SubmissionTanFragmentTest.kt | 2 +- ...bmissionTestResultAvailableFragmentTest.kt | 2 +- ...ssionTestResultConsentGivenFragmentTest.kt | 2 +- .../SubmissionTestResultFragmentTest.kt | 2 +- ...ubmissionTestResultNegativeFragmentTest.kt | 2 +- .../SubmissionYourConsentFragmentTest.kt | 2 +- .../ui/tracing/TracingDetailsFragmentTest.kt | 2 +- .../util/coroutine/DispatcherProvider.kt | 12 ++++---- .../appconfig/AppConfigProviderTest.kt | 2 +- .../sources/local/LocalAppConfigSourceTest.kt | 2 +- .../remote/RemoteAppConfigSourceTest.kt | 2 +- .../ContactDiaryEditLocationsViewModelTest.kt | 12 ++++---- .../ContactDiaryEditPersonsViewModelTest.kt | 12 ++++---- .../download/DayPackageSyncToolTest.kt | 2 +- .../download/HourPackageSyncToolTest.kt | 2 +- .../main/MainActivityViewModelTest.kt | 2 +- .../main/home/HomeFragmentViewModelTest.kt | 2 +- .../DefaultExposureDetectionTrackerTest.kt | 2 +- .../ExposureStateUpdateReceiverTest.kt | 2 +- .../source/StatisticsProviderTest.kt | 2 +- ...ilityConfigurationFragmentViewModelTest.kt | 2 +- .../launcher/LauncherActivityViewModelTest.kt | 2 +- ...tificationSettingsFragmentViewModelTest.kt | 2 +- .../start/SettingsFragmentViewModelTest.kt | 2 +- .../consent/SubmissionConsentViewModelTest.kt | 2 +- .../SubmissionSymptomCalendarViewModelTest.kt | 2 +- ...missionSymptomIntroductionViewModelTest.kt | 2 +- .../tan/SubmissionTanViewModelTest.kt | 2 +- ...missionTestResultAvailableViewModelTest.kt | 2 +- ...sionTestResultConsentGivenViewModelTest.kt | 2 +- ...itiveOtherWarningNoConsentViewModelTest.kt | 2 +- .../SubmissionYourConsentViewModelTest.kt | 2 +- .../ui/DebugOptionsFragmentViewModelTest.kt | 2 +- .../testhelpers/TestDispatcherProvider.kt | 29 +++++++++++-------- 44 files changed, 79 insertions(+), 73 deletions(-) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryDayFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryDayFragmentTest.kt index 0cbbed399..08e05bb2a 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryDayFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryDayFragmentTest.kt @@ -124,14 +124,14 @@ class ContactDiaryDayFragmentTest : BaseUITest() { private fun setupViewModels() { viewModel = spyk( ContactDiaryDayViewModel( - TestDispatcherProvider, + TestDispatcherProvider(), selectedDay ) ) personListViewModel = spyk( ContactDiaryPersonListViewModel( - TestDispatcherProvider, + TestDispatcherProvider(), selectedDay, contactDiaryRepository ) @@ -139,7 +139,7 @@ class ContactDiaryDayFragmentTest : BaseUITest() { locationListViewModel = spyk( ContactDiaryLocationListViewModel( - TestDispatcherProvider, + TestDispatcherProvider(), selectedDay, contactDiaryRepository ) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt index 3bdfbe344..0b8e1dacf 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt @@ -46,7 +46,7 @@ class ContactDiaryEditLocationsFragmentTest : BaseUITest() { viewModel = spyk( ContactDiaryEditLocationsViewModel( contactDiaryRepository, - TestDispatcherProvider + TestDispatcherProvider() ) ) setupMockViewModel( diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt index 91b359f03..00cb0d90e 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt @@ -46,7 +46,7 @@ class ContactDiaryEditPersonsFragmentTest : BaseUITest() { viewModel = spyk( ContactDiaryEditPersonsViewModel( contactDiaryRepository, - TestDispatcherProvider + TestDispatcherProvider() ) ) setupMockViewModel( diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt index 5e44dad6d..eb3cd813f 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt @@ -53,7 +53,7 @@ class ContactDiaryOverviewFragmentTest : BaseUITest() { viewModel = spyk( ContactDiaryOverviewViewModel( taskController = taskController, - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), contactDiaryRepository = contactDiaryRepository, riskLevelStorage = riskLevelStorage ) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt index 6bc524035..7bd753280 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt @@ -247,7 +247,7 @@ class HomeFragmentTest : BaseUITest() { private fun homeFragmentViewModelSpy() = spyk( HomeFragmentViewModel( - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), errorResetTool = errorResetTool, tracingRepository = tracingRepository, tracingStateProviderFactory = tracingStateProviderFactory, diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragmentTest.kt index 829ed1551..5a3922923 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragmentTest.kt @@ -13,13 +13,13 @@ import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import testhelpers.BaseUITest +import testhelpers.SCREENSHOT_DELAY_TIME import testhelpers.Screenshot import testhelpers.SystemUIDemoModeRule import testhelpers.TestDispatcherProvider import testhelpers.launchFragmentInContainer2 import tools.fastlane.screengrab.Screengrab import tools.fastlane.screengrab.locale.LocaleTestRule -import testhelpers.SCREENSHOT_DELAY_TIME @RunWith(AndroidJUnit4::class) class OnboardingDeltaInteroperabilityFragmentTest : BaseUITest() { @@ -41,7 +41,7 @@ class OnboardingDeltaInteroperabilityFragmentTest : BaseUITest() { override fun create(): OnboardingDeltaInteroperabilityFragmentViewModel = OnboardingDeltaInteroperabilityFragmentViewModel( interopRepo = interopRepo, - dispatcherProvider = TestDispatcherProvider + dispatcherProvider = TestDispatcherProvider() ) }) } diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt index a6be43483..2322ccc00 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt @@ -48,7 +48,7 @@ class OnboardingTracingFragmentTest : BaseUITest() { OnboardingTracingFragmentViewModel( interoperabilityRepository = interopRepo, tracingPermissionHelperFactory = factory, - dispatcherProvider = TestDispatcherProvider + dispatcherProvider = TestDispatcherProvider() ) ) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionConsentFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionConsentFragmentTest.kt index aa8dbed36..eacde5485 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionConsentFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionConsentFragmentTest.kt @@ -42,7 +42,8 @@ class SubmissionConsentFragmentTest : BaseUITest() { fun setup() { MockKAnnotations.init(this, relaxed = true) every { interoperabilityRepository.countryList } returns flowOf() - viewModel = SubmissionConsentViewModel(submissionRepository, interoperabilityRepository, TestDispatcherProvider) + viewModel = + SubmissionConsentViewModel(submissionRepository, interoperabilityRepository, TestDispatcherProvider()) setupMockViewModel(object : SubmissionConsentViewModel.Factory { override fun create(): SubmissionConsentViewModel = viewModel }) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomCalendarFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomCalendarFragmentTest.kt index a2ad56bdd..411960fcb 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomCalendarFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomCalendarFragmentTest.kt @@ -53,7 +53,7 @@ class SubmissionSymptomCalendarFragmentTest : BaseUITest() { viewModel = spyk( SubmissionSymptomCalendarViewModel( Symptoms.Indication.POSITIVE, - TestDispatcherProvider, + TestDispatcherProvider(), submissionRepository, autoSubmission ) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomIntroFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomIntroFragmentTest.kt index 4b8224920..c106e546b 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomIntroFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionSymptomIntroFragmentTest.kt @@ -53,7 +53,7 @@ class SubmissionSymptomIntroFragmentTest : BaseUITest() { fun setup() { MockKAnnotations.init(this, relaxed = true) viewModel = - spyk(SubmissionSymptomIntroductionViewModel(TestDispatcherProvider, submissionRepository, autoSubmission)) + spyk(SubmissionSymptomIntroductionViewModel(TestDispatcherProvider(), submissionRepository, autoSubmission)) with(viewModel) { every { symptomIndication } returns MutableLiveData(Symptoms.Indication.POSITIVE) } diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragmentTest.kt index 38331cf9e..8cf2b0f69 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragmentTest.kt @@ -36,7 +36,7 @@ class SubmissionTanFragmentTest : BaseUITest() { @MockK lateinit var submissionRepository: SubmissionRepository private fun createViewModel() = SubmissionTanViewModel( - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), submissionRepository = submissionRepository ) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultAvailableFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultAvailableFragmentTest.kt index aac51198e..9269b89a1 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultAvailableFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultAvailableFragmentTest.kt @@ -50,7 +50,7 @@ class SubmissionTestResultAvailableFragmentTest : BaseUITest() { viewModel = spyk( SubmissionTestResultAvailableViewModel( - TestDispatcherProvider, + TestDispatcherProvider(), tekHistoryUpdaterFactory, submissionRepository, autoSubmission diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultConsentGivenFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultConsentGivenFragmentTest.kt index 39ccea98e..506cd23eb 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultConsentGivenFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultConsentGivenFragmentTest.kt @@ -70,7 +70,7 @@ class SubmissionTestResultConsentGivenFragmentTest : BaseUITest() { submissionRepository, autoSubmission, testResultAvailableNotificationService, - TestDispatcherProvider + TestDispatcherProvider() ) ) setupMockViewModel( diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragmentTest.kt index 7305ee020..781c3f544 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragmentTest.kt @@ -60,7 +60,7 @@ class SubmissionTestResultFragmentTest : BaseUITest() { viewModel = spyk( SubmissionTestResultPendingViewModel( - TestDispatcherProvider, + TestDispatcherProvider(), shareTestResultNotificationService, submissionRepository ) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNegativeFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNegativeFragmentTest.kt index a10ad9e78..d99b017e1 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNegativeFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNegativeFragmentTest.kt @@ -52,7 +52,7 @@ class SubmissionTestResultNegativeFragmentTest : BaseUITest() { viewModel = spyk( SubmissionTestResultNegativeViewModel( - TestDispatcherProvider, + TestDispatcherProvider(), submissionRepository, testResultAvailableNotificationService ) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionYourConsentFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionYourConsentFragmentTest.kt index 909eb1c5d..1312ce621 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionYourConsentFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionYourConsentFragmentTest.kt @@ -44,7 +44,7 @@ class SubmissionYourConsentFragmentTest : BaseUITest() { MockKAnnotations.init(this, relaxed = true) every { submissionRepository.hasGivenConsentToSubmission } returns flowOf() viewModel = - SubmissionYourConsentViewModel(TestDispatcherProvider, interoperabilityRepository, submissionRepository) + SubmissionYourConsentViewModel(TestDispatcherProvider(), interoperabilityRepository, submissionRepository) setupMockViewModel(object : SubmissionYourConsentViewModel.Factory { override fun create(): SubmissionYourConsentViewModel = viewModel }) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt index e22171727..617a7cc2f 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt @@ -58,7 +58,7 @@ class TracingDetailsFragmentTest : BaseUITest() { viewModel = spyk( TracingDetailsFragmentViewModel( - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), tracingStatus = tracingStatus, backgroundModeStatus = backgroundModeStatus, riskLevelStorage = riskLevelStorage, diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/coroutine/DispatcherProvider.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/coroutine/DispatcherProvider.kt index 1e4abd60c..0928ccd8f 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/coroutine/DispatcherProvider.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/coroutine/DispatcherProvider.kt @@ -1,21 +1,21 @@ package de.rki.coronawarnapp.util.coroutine -import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.Dispatchers +import kotlin.coroutines.CoroutineContext // Need this to improve testing // Can currently only replace the main-thread dispatcher. // https://github.com/Kotlin/kotlinx.coroutines/issues/1365 @Suppress("PropertyName", "VariableNaming") interface DispatcherProvider { - val Default: CoroutineDispatcher + val Default: CoroutineContext get() = Dispatchers.Default - val Main: CoroutineDispatcher + val Main: CoroutineContext get() = Dispatchers.Main - val MainImmediate: CoroutineDispatcher + val MainImmediate: CoroutineContext get() = Dispatchers.Main.immediate - val Unconfined: CoroutineDispatcher + val Unconfined: CoroutineContext get() = Dispatchers.Unconfined - val IO: CoroutineDispatcher + val IO: CoroutineContext get() = Dispatchers.IO } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/AppConfigProviderTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/AppConfigProviderTest.kt index e5b901e0c..d919d3119 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/AppConfigProviderTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/AppConfigProviderTest.kt @@ -63,7 +63,7 @@ class AppConfigProviderTest : BaseIOTest() { private fun createInstance(scope: CoroutineScope) = AppConfigProvider( appConfigSource = appConfigSource, - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), scope = scope ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/local/LocalAppConfigSourceTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/local/LocalAppConfigSourceTest.kt index 155d2f76c..9bf5c9ddf 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/local/LocalAppConfigSourceTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/local/LocalAppConfigSourceTest.kt @@ -68,7 +68,7 @@ class LocalAppConfigSourceTest : BaseIOTest() { private fun createInstance() = LocalAppConfigSource( storage = configStorage, parser = configParser, - dispatcherProvider = TestDispatcherProvider + dispatcherProvider = TestDispatcherProvider() ) @Test diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/RemoteAppConfigSourceTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/RemoteAppConfigSourceTest.kt index 94de5fb5b..79f79fa9e 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/RemoteAppConfigSourceTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/RemoteAppConfigSourceTest.kt @@ -73,7 +73,7 @@ class RemoteAppConfigSourceTest : BaseIOTest() { server = configServer, storage = configStorage, parser = configParser, - dispatcherProvider = TestDispatcherProvider + dispatcherProvider = TestDispatcherProvider() ) @Test diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt index ea6e55c46..a9022f4fe 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt @@ -38,7 +38,7 @@ class ContactDiaryEditLocationsViewModelTest { @Test fun testOnDeleteAllLocationsClick() { every { contactDiaryRepository.locations } returns MutableStateFlow(locationList) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.navigationEvent.observeForever { } viewModel.onDeleteAllLocationsClick() viewModel.navigationEvent.value shouldBe ContactDiaryEditLocationsViewModel.NavigationEvent.ShowDeletionConfirmationDialog @@ -49,7 +49,7 @@ class ContactDiaryEditLocationsViewModelTest { coEvery { contactDiaryRepository.deleteAllLocationVisits() } just Runs coEvery { contactDiaryRepository.deleteAllLocations() } just Runs every { contactDiaryRepository.locations } returns MutableStateFlow(locationList) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.onDeleteAllConfirmedClick() coVerify(exactly = 1) { contactDiaryRepository.deleteAllLocationVisits() @@ -60,7 +60,7 @@ class ContactDiaryEditLocationsViewModelTest { @Test fun testOnEditLocationClick() { every { contactDiaryRepository.locations } returns MutableStateFlow(locationList) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.navigationEvent.observeForever { } viewModel.onEditLocationClick(location) viewModel.navigationEvent.value shouldBe @@ -70,7 +70,7 @@ class ContactDiaryEditLocationsViewModelTest { @Test fun testIsButtonEnabled() { every { contactDiaryRepository.locations } returns MutableStateFlow(locationList) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.isButtonEnabled.observeForever { } viewModel.isButtonEnabled.value shouldBe true } @@ -78,7 +78,7 @@ class ContactDiaryEditLocationsViewModelTest { @Test fun testIsButtonNotEnabledWhenListIsEmpty() { every { contactDiaryRepository.locations } returns MutableStateFlow(emptyList()) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.isButtonEnabled.observeForever { } viewModel.isButtonEnabled.value shouldBe false } @@ -86,7 +86,7 @@ class ContactDiaryEditLocationsViewModelTest { @Test fun testLocations() { every { contactDiaryRepository.locations } returns MutableStateFlow(locationList) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.locationsLiveData.observeForever { } viewModel.locationsLiveData.value shouldBe locationList } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt index 183722bb6..f1a8aa1e2 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt @@ -39,7 +39,7 @@ class ContactDiaryEditPersonsViewModelTest { @Test fun testOnDeleteAllLocationsClick() { every { contactDiaryRepository.people } returns MutableStateFlow(personList) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.navigationEvent.observeForever { } viewModel.onDeleteAllPersonsClick() viewModel.navigationEvent.value shouldBe ContactDiaryEditPersonsViewModel.NavigationEvent.ShowDeletionConfirmationDialog @@ -50,7 +50,7 @@ class ContactDiaryEditPersonsViewModelTest { coEvery { contactDiaryRepository.deleteAllPeople() } just Runs coEvery { contactDiaryRepository.deleteAllPersonEncounters() } just Runs every { contactDiaryRepository.people } returns MutableStateFlow(personList) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.onDeleteAllConfirmedClick() coVerify(exactly = 1) { contactDiaryRepository.deleteAllPeople() @@ -61,7 +61,7 @@ class ContactDiaryEditPersonsViewModelTest { @Test fun testOnEditLocationClick() { every { contactDiaryRepository.people } returns MutableStateFlow(personList) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.navigationEvent.observeForever { } viewModel.onEditPersonClick(person) viewModel.navigationEvent.value shouldBe @@ -71,7 +71,7 @@ class ContactDiaryEditPersonsViewModelTest { @Test fun testIsButtonEnabled() { every { contactDiaryRepository.people } returns MutableStateFlow(personList) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.isButtonEnabled.observeForever { } viewModel.isButtonEnabled.value shouldBe true } @@ -79,7 +79,7 @@ class ContactDiaryEditPersonsViewModelTest { @Test fun testIsButtonNotEnabledWhenListIsEmpty() { every { contactDiaryRepository.people } returns MutableStateFlow(emptyList()) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.isButtonEnabled.observeForever { } viewModel.isButtonEnabled.value shouldBe false } @@ -87,7 +87,7 @@ class ContactDiaryEditPersonsViewModelTest { @Test fun testLocations() { every { contactDiaryRepository.people } returns MutableStateFlow(personList) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider) + viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) viewModel.personsLiveData.observeForever { } viewModel.personsLiveData.value shouldBe personList } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/DayPackageSyncToolTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/DayPackageSyncToolTest.kt index 598e8408c..17c498967 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/DayPackageSyncToolTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/DayPackageSyncToolTest.kt @@ -39,7 +39,7 @@ class DayPackageSyncToolTest : CommonSyncToolTest() { keyCache = keyCache, downloadTool = downloadTool, timeStamper = timeStamper, - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), configProvider = configProvider ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/HourPackageSyncToolTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/HourPackageSyncToolTest.kt index 5e50eeaed..0a58b9578 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/HourPackageSyncToolTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/HourPackageSyncToolTest.kt @@ -41,7 +41,7 @@ class HourPackageSyncToolTest : CommonSyncToolTest() { downloadTool = downloadTool, timeStamper = timeStamper, configProvider = configProvider, - dispatcherProvider = TestDispatcherProvider + dispatcherProvider = TestDispatcherProvider() ) @Test diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt index 871d43b35..10efd2034 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/MainActivityViewModelTest.kt @@ -38,7 +38,7 @@ class MainActivityViewModelTest : BaseTest() { } private fun createInstance(): MainActivityViewModel = MainActivityViewModel( - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), environmentSetup = environmentSetup, backgroundModeStatus = backgroundModeStatus ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt index 701dcece0..f0361f63d 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt @@ -81,7 +81,7 @@ class HomeFragmentViewModelTest : BaseTest() { } private fun createInstance(): HomeFragmentViewModel = HomeFragmentViewModel( - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), errorResetTool = errorResetTool, tracingStatus = generalTracingStatus, tracingRepository = tracingRepository, diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/detectiontracker/DefaultExposureDetectionTrackerTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/detectiontracker/DefaultExposureDetectionTrackerTest.kt index 9012e23cf..823cee90f 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/detectiontracker/DefaultExposureDetectionTrackerTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/detectiontracker/DefaultExposureDetectionTrackerTest.kt @@ -56,7 +56,7 @@ class DefaultExposureDetectionTrackerTest : BaseTest() { private fun createInstance(scope: CoroutineScope) = DefaultExposureDetectionTracker( scope = scope, - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), storage = storage, timeStamper = timeStamper, appConfigProvider = configProvider diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiverTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiverTest.kt index 4bd4076ca..8294b3454 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiverTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiverTest.kt @@ -62,7 +62,7 @@ class ExposureStateUpdateReceiverTest : BaseTest() { val broadcastReceiverInjector = AndroidInjector<Any> { it as ExposureStateUpdateReceiver it.exposureDetectionTracker = exposureDetectionTracker - it.dispatcherProvider = TestDispatcherProvider + it.dispatcherProvider = TestDispatcherProvider() it.scope = scope it.workManager = workManager } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsProviderTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsProviderTest.kt index dbb619dab..13db68023 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsProviderTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsProviderTest.kt @@ -66,7 +66,7 @@ class StatisticsProviderTest : BaseTest() { localCache = localCache, parser = parser, foregroundState = foregroundState, - dispatcherProvider = TestDispatcherProvider + dispatcherProvider = TestDispatcherProvider() ) @Test diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragmentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragmentViewModelTest.kt index 87c6c0f00..45a8b3e1e 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragmentViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragmentViewModelTest.kt @@ -29,7 +29,7 @@ class InteroperabilityConfigurationFragmentViewModelTest { } private fun createViewModel() = - InteroperabilityConfigurationFragmentViewModel(interoperabilityRepository, TestDispatcherProvider) + InteroperabilityConfigurationFragmentViewModel(interoperabilityRepository, TestDispatcherProvider()) @Test fun `viewmodel returns interop repo countryList`() { diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/launcher/LauncherActivityViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/launcher/LauncherActivityViewModelTest.kt index 343f7b960..63b120314 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/launcher/LauncherActivityViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/launcher/LauncherActivityViewModelTest.kt @@ -34,7 +34,7 @@ class LauncherActivityViewModelTest { private fun createViewModel() = LauncherActivityViewModel( updateChecker = updateChecker, - dispatcherProvider = TestDispatcherProvider + dispatcherProvider = TestDispatcherProvider() ) @Test diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsFragmentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsFragmentViewModelTest.kt index a1bcbcdf4..031ff0e1d 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsFragmentViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsFragmentViewModelTest.kt @@ -43,7 +43,7 @@ class NotificationSettingsFragmentViewModelTest : BaseTest() { private fun createInstance(): NotificationSettingsFragmentViewModel = NotificationSettingsFragmentViewModel( - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), notificationSettings = notificationSettings ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragmentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragmentViewModelTest.kt index 115d261ec..7b48a9b49 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragmentViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragmentViewModelTest.kt @@ -46,7 +46,7 @@ class SettingsFragmentViewModelTest : BaseTest() { } private fun createInstance(): SettingsFragmentViewModel = SettingsFragmentViewModel( - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), tracingStatus = tracingStatus, backgroundModeStatus = backgroundModeStatus, notificationSettings = notificationSettings diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt index 151651436..585c1c37f 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt @@ -36,7 +36,7 @@ class SubmissionConsentViewModelTest { viewModel = SubmissionConsentViewModel( submissionRepository, interoperabilityRepository, - dispatcherProvider = TestDispatcherProvider + dispatcherProvider = TestDispatcherProvider() ) } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarViewModelTest.kt index 591b391e4..1a07365dc 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarViewModelTest.kt @@ -53,7 +53,7 @@ class SubmissionSymptomCalendarViewModelTest : BaseTest() { private fun createViewModel(indication: Symptoms.Indication = Symptoms.Indication.POSITIVE) = SubmissionSymptomCalendarViewModel( symptomIndication = indication, - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), submissionRepository = submissionRepository, autoSubmission = autoSubmission ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionViewModelTest.kt index f3e1ee087..af78444e2 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionViewModelTest.kt @@ -47,7 +47,7 @@ class SubmissionSymptomIntroductionViewModelTest : BaseTest() { } private fun createViewModel() = SubmissionSymptomIntroductionViewModel( - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), submissionRepository = submissionRepository, autoSubmission = autoSubmission ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanViewModelTest.kt index 8d0f77ea5..22e7c02b1 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanViewModelTest.kt @@ -18,7 +18,7 @@ class SubmissionTanViewModelTest : BaseTest() { @MockK lateinit var submissionRepository: SubmissionRepository private fun createInstance() = SubmissionTanViewModel( - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), submissionRepository = submissionRepository ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testavailable/SubmissionTestResultAvailableViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testavailable/SubmissionTestResultAvailableViewModelTest.kt index 1341d2771..9be0ec3c9 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testavailable/SubmissionTestResultAvailableViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testavailable/SubmissionTestResultAvailableViewModelTest.kt @@ -46,7 +46,7 @@ class SubmissionTestResultAvailableViewModelTest : BaseTest() { private fun createViewModel(): SubmissionTestResultAvailableViewModel = SubmissionTestResultAvailableViewModel( submissionRepository = submissionRepository, - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), tekHistoryUpdaterFactory = tekHistoryUpdaterFactory, autoSubmission = autoSubmission ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/SubmissionTestResultConsentGivenViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/SubmissionTestResultConsentGivenViewModelTest.kt index 9cf860c68..c84ea408d 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/SubmissionTestResultConsentGivenViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/SubmissionTestResultConsentGivenViewModelTest.kt @@ -29,7 +29,7 @@ class SubmissionTestResultConsentGivenViewModelTest : BaseTest() { private fun createViewModel() = SubmissionTestResultConsentGivenViewModel( submissionRepository = submissionRepository, - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), autoSubmission = autoSubmission, testResultAvailableNotificationService = testResultAvailableNotificationService ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModelTest.kt index b9a3cd2ba..d87ada61d 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModelTest.kt @@ -47,7 +47,7 @@ class SubmissionResultPositiveOtherWarningNoConsentViewModelTest : BaseTest() { } private fun createViewModel() = SubmissionResultPositiveOtherWarningNoConsentViewModel( - dispatcherProvider = TestDispatcherProvider, + dispatcherProvider = TestDispatcherProvider(), tekHistoryUpdaterFactory = tekHistoryUpdaterFactory, autoSubmission = autoSubmission, enfClient = enfClient, diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModelTest.kt index 184fae9da..d5a70f44c 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModelTest.kt @@ -43,7 +43,7 @@ class SubmissionYourConsentViewModelTest : BaseTest() { private fun createViewModel(): SubmissionYourConsentViewModel = SubmissionYourConsentViewModel( interoperabilityRepository = interoperabilityRepository, submissionRepository = submissionRepository, - dispatcherProvider = TestDispatcherProvider + dispatcherProvider = TestDispatcherProvider() ) @AfterEach diff --git a/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt b/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt index 4883ed904..2e38ca455 100644 --- a/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt +++ b/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt @@ -56,7 +56,7 @@ class DebugOptionsFragmentViewModelTest : BaseTest() { private fun createViewModel(): DebugOptionsFragmentViewModel = DebugOptionsFragmentViewModel( envSetup = environmentSetup, - dispatcherProvider = TestDispatcherProvider + dispatcherProvider = TestDispatcherProvider() ) @Test diff --git a/Corona-Warn-App/src/testShared/java/testhelpers/TestDispatcherProvider.kt b/Corona-Warn-App/src/testShared/java/testhelpers/TestDispatcherProvider.kt index 9b338acc7..9aff497b9 100644 --- a/Corona-Warn-App/src/testShared/java/testhelpers/TestDispatcherProvider.kt +++ b/Corona-Warn-App/src/testShared/java/testhelpers/TestDispatcherProvider.kt @@ -1,18 +1,23 @@ package testhelpers import de.rki.coronawarnapp.util.coroutine.DispatcherProvider -import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers +import kotlin.coroutines.CoroutineContext -object TestDispatcherProvider : DispatcherProvider { - override val Default: CoroutineDispatcher - get() = Dispatchers.Unconfined - override val Main: CoroutineDispatcher - get() = Dispatchers.Unconfined - override val MainImmediate: CoroutineDispatcher - get() = Dispatchers.Unconfined - override val Unconfined: CoroutineDispatcher - get() = Dispatchers.Unconfined - override val IO: CoroutineDispatcher - get() = Dispatchers.Unconfined +class TestDispatcherProvider(private val context: CoroutineContext? = null) : DispatcherProvider { + override val Default: CoroutineContext + get() = context ?: Dispatchers.Unconfined + override val Main: CoroutineContext + get() = context ?: Dispatchers.Unconfined + override val MainImmediate: CoroutineContext + get() = context ?: Dispatchers.Unconfined + override val Unconfined: CoroutineContext + get() = context ?: Dispatchers.Unconfined + override val IO: CoroutineContext + get() = context ?: Dispatchers.Unconfined } + +fun CoroutineScope.asDispatcherProvider() = this.coroutineContext.asDispatcherProvider() + +fun CoroutineContext.asDispatcherProvider() = TestDispatcherProvider(context = this) -- GitLab