diff --git a/app/src/test/java/com/x8bit/bitwarden/data/platform/manager/AppForegroundManagerTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/platform/manager/AppForegroundManagerTest.kt index 82337a19bc..fbf8c1d0d4 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/platform/manager/AppForegroundManagerTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/platform/manager/AppForegroundManagerTest.kt @@ -1,11 +1,8 @@ package com.x8bit.bitwarden.data.platform.manager -import androidx.lifecycle.DefaultLifecycleObserver -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.LifecycleObserver -import androidx.lifecycle.LifecycleOwner import app.cash.turbine.test import com.x8bit.bitwarden.data.platform.manager.model.AppForegroundState +import com.x8bit.bitwarden.data.util.FakeLifecycleOwner import kotlinx.coroutines.test.runTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -45,43 +42,3 @@ class AppForegroundManagerTest { } } } - -private class FakeLifecycle( - private val lifecycleOwner: LifecycleOwner, -) : Lifecycle() { - private val observers = mutableSetOf() - - override var currentState: State = State.INITIALIZED - - override fun addObserver(observer: LifecycleObserver) { - observers += (observer as DefaultLifecycleObserver) - } - - override fun removeObserver(observer: LifecycleObserver) { - observers -= (observer as DefaultLifecycleObserver) - } - - /** - * Triggers [DefaultLifecycleObserver.onStart] calls for each registered observer. - */ - fun dispatchOnStart() { - currentState = State.STARTED - observers.forEach { observer -> - observer.onStart(lifecycleOwner) - } - } - - /** - * Triggers [DefaultLifecycleObserver.onStop] calls for each registered observer. - */ - fun dispatchOnStop() { - currentState = State.CREATED - observers.forEach { observer -> - observer.onStop(lifecycleOwner) - } - } -} - -private class FakeLifecycleOwner : LifecycleOwner { - override val lifecycle: FakeLifecycle = FakeLifecycle(this) -} diff --git a/app/src/test/java/com/x8bit/bitwarden/data/util/FakeLifecycle.kt b/app/src/test/java/com/x8bit/bitwarden/data/util/FakeLifecycle.kt new file mode 100644 index 0000000000..9611fc9cd2 --- /dev/null +++ b/app/src/test/java/com/x8bit/bitwarden/data/util/FakeLifecycle.kt @@ -0,0 +1,45 @@ +package com.x8bit.bitwarden.data.util + +import androidx.lifecycle.DefaultLifecycleObserver +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.LifecycleObserver +import androidx.lifecycle.LifecycleOwner + +/** + * A fake implementation of [LifecycleOwner] and [Lifecycle] for testing purposes. + */ +class FakeLifecycle( + private val lifecycleOwner: LifecycleOwner, +) : Lifecycle() { + private val observers = mutableSetOf() + + override var currentState: State = State.INITIALIZED + + override fun addObserver(observer: LifecycleObserver) { + observers += (observer as DefaultLifecycleObserver) + } + + override fun removeObserver(observer: LifecycleObserver) { + observers -= (observer as DefaultLifecycleObserver) + } + + /** + * Triggers [DefaultLifecycleObserver.onStart] calls for each registered observer. + */ + fun dispatchOnStart() { + currentState = State.STARTED + observers.forEach { observer -> + observer.onStart(lifecycleOwner) + } + } + + /** + * Triggers [DefaultLifecycleObserver.onStop] calls for each registered observer. + */ + fun dispatchOnStop() { + currentState = State.CREATED + observers.forEach { observer -> + observer.onStop(lifecycleOwner) + } + } +} diff --git a/app/src/test/java/com/x8bit/bitwarden/data/util/FakeLifecycleOwner.kt b/app/src/test/java/com/x8bit/bitwarden/data/util/FakeLifecycleOwner.kt new file mode 100644 index 0000000000..1f313ff915 --- /dev/null +++ b/app/src/test/java/com/x8bit/bitwarden/data/util/FakeLifecycleOwner.kt @@ -0,0 +1,10 @@ +package com.x8bit.bitwarden.data.util + +import androidx.lifecycle.LifecycleOwner + +/** + * A fake implementation of [LifecycleOwner] for testing purposes. + */ +class FakeLifecycleOwner : LifecycleOwner { + override val lifecycle: FakeLifecycle = FakeLifecycle(lifecycleOwner = this) +}