Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c4fa3f8f authored by Caitlin Shkuratov's avatar Caitlin Shkuratov
Browse files

[SB Refactor] Move WifiRepositoryImplTest to TestScope.

Bug: 238425913
Test: atest WifiRepositoryImplTest
Change-Id: I0169622cb4d371846c67479d7ecd7206e2e17ce2
parent 54a7debb
Loading
Loading
Loading
Loading
+52 −61
Original line number Original line Diff line number Diff line
@@ -49,16 +49,14 @@ import com.android.systemui.util.mockito.nullable
import com.android.systemui.util.time.FakeSystemClock
import com.android.systemui.util.time.FakeSystemClock
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertThat
import java.util.concurrent.Executor
import java.util.concurrent.Executor
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.cancel
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.TestScope
import org.junit.After
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Before
import org.junit.Test
import org.junit.Test
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.ArgumentMatchers.anyInt
@@ -80,9 +78,10 @@ class WifiRepositoryImplTest : SysuiTestCase() {
    @Mock private lateinit var connectivityManager: ConnectivityManager
    @Mock private lateinit var connectivityManager: ConnectivityManager
    @Mock private lateinit var wifiManager: WifiManager
    @Mock private lateinit var wifiManager: WifiManager
    private lateinit var executor: Executor
    private lateinit var executor: Executor
    private lateinit var scope: CoroutineScope
    private lateinit var connectivityRepository: ConnectivityRepository
    private lateinit var connectivityRepository: ConnectivityRepository


    private val testScope = TestScope(UnconfinedTestDispatcher())

    @Before
    @Before
    fun setUp() {
    fun setUp() {
        MockitoAnnotations.initMocks(this)
        MockitoAnnotations.initMocks(this)
@@ -96,7 +95,6 @@ class WifiRepositoryImplTest : SysuiTestCase() {
            )
            )
            .thenReturn(flowOf(Unit))
            .thenReturn(flowOf(Unit))
        executor = FakeExecutor(FakeSystemClock())
        executor = FakeExecutor(FakeSystemClock())
        scope = CoroutineScope(IMMEDIATE)


        connectivityRepository =
        connectivityRepository =
            ConnectivityRepositoryImpl(
            ConnectivityRepositoryImpl(
@@ -105,21 +103,16 @@ class WifiRepositoryImplTest : SysuiTestCase() {
                context,
                context,
                mock(),
                mock(),
                mock(),
                mock(),
                scope,
                testScope.backgroundScope,
                mock(),
                mock(),
            )
            )


        underTest = createRepo()
        underTest = createRepo()
    }
    }


    @After
    fun tearDown() {
        scope.cancel()
    }

    @Test
    @Test
    fun isWifiEnabled_initiallyGetsWifiManagerValue() =
    fun isWifiEnabled_initiallyGetsWifiManagerValue() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            whenever(wifiManager.isWifiEnabled).thenReturn(true)
            whenever(wifiManager.isWifiEnabled).thenReturn(true)


            underTest = createRepo()
            underTest = createRepo()
@@ -129,7 +122,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiEnabled_networkCapabilitiesChanged_valueUpdated() =
    fun isWifiEnabled_networkCapabilitiesChanged_valueUpdated() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            // We need to call launch on the flows so that they start updating
            // We need to call launch on the flows so that they start updating
            val networkJob = underTest.wifiNetwork.launchIn(this)
            val networkJob = underTest.wifiNetwork.launchIn(this)
            val enabledJob = underTest.isWifiEnabled.launchIn(this)
            val enabledJob = underTest.isWifiEnabled.launchIn(this)
@@ -152,7 +145,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiEnabled_networkLost_valueUpdated() =
    fun isWifiEnabled_networkLost_valueUpdated() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            // We need to call launch on the flows so that they start updating
            // We need to call launch on the flows so that they start updating
            val networkJob = underTest.wifiNetwork.launchIn(this)
            val networkJob = underTest.wifiNetwork.launchIn(this)
            val enabledJob = underTest.isWifiEnabled.launchIn(this)
            val enabledJob = underTest.isWifiEnabled.launchIn(this)
@@ -173,7 +166,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiEnabled_intentsReceived_valueUpdated() =
    fun isWifiEnabled_intentsReceived_valueUpdated() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val intentFlow = MutableSharedFlow<Unit>()
            val intentFlow = MutableSharedFlow<Unit>()
            whenever(
            whenever(
                    broadcastDispatcher.broadcastFlow(
                    broadcastDispatcher.broadcastFlow(
@@ -203,7 +196,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiEnabled_bothIntentAndNetworkUpdates_valueAlwaysUpdated() =
    fun isWifiEnabled_bothIntentAndNetworkUpdates_valueAlwaysUpdated() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val intentFlow = MutableSharedFlow<Unit>()
            val intentFlow = MutableSharedFlow<Unit>()
            whenever(
            whenever(
                    broadcastDispatcher.broadcastFlow(
                    broadcastDispatcher.broadcastFlow(
@@ -242,7 +235,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiDefault_initiallyGetsDefault() =
    fun isWifiDefault_initiallyGetsDefault() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            assertThat(underTest.isWifiDefault.value).isFalse()
            assertThat(underTest.isWifiDefault.value).isFalse()
@@ -252,7 +245,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiDefault_wifiNetwork_isTrue() =
    fun isWifiDefault_wifiNetwork_isTrue() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            val wifiInfo = mock<WifiInfo>().apply { whenever(this.ssid).thenReturn(SSID) }
            val wifiInfo = mock<WifiInfo>().apply { whenever(this.ssid).thenReturn(SSID) }
@@ -268,7 +261,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
    /** Regression test for b/266628069. */
    /** Regression test for b/266628069. */
    @Test
    @Test
    fun isWifiDefault_transportInfoIsNotWifi_andNoWifiTransport_false() =
    fun isWifiDefault_transportInfoIsNotWifi_andNoWifiTransport_false() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            val transportInfo =
            val transportInfo =
@@ -294,7 +287,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
    /** Regression test for b/266628069. */
    /** Regression test for b/266628069. */
    @Test
    @Test
    fun isWifiDefault_transportInfoIsNotWifi_butHasWifiTransport_true() =
    fun isWifiDefault_transportInfoIsNotWifi_butHasWifiTransport_true() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            val transportInfo =
            val transportInfo =
@@ -319,7 +312,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiDefault_carrierMergedViaCellular_isTrue() =
    fun isWifiDefault_carrierMergedViaCellular_isTrue() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            val carrierMergedInfo =
            val carrierMergedInfo =
@@ -341,7 +334,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiDefault_carrierMergedViaCellular_withVcnTransport_isTrue() =
    fun isWifiDefault_carrierMergedViaCellular_withVcnTransport_isTrue() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            val capabilities =
            val capabilities =
@@ -360,7 +353,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiDefault_carrierMergedViaWifi_isTrue() =
    fun isWifiDefault_carrierMergedViaWifi_isTrue() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            val carrierMergedInfo =
            val carrierMergedInfo =
@@ -382,7 +375,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiDefault_carrierMergedViaWifi_withVcnTransport_isTrue() =
    fun isWifiDefault_carrierMergedViaWifi_withVcnTransport_isTrue() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            val capabilities =
            val capabilities =
@@ -401,7 +394,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiDefault_cellularAndWifiTransports_usesCellular_isTrue() =
    fun isWifiDefault_cellularAndWifiTransports_usesCellular_isTrue() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            val capabilities =
            val capabilities =
@@ -420,7 +413,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiDefault_cellularNotVcnNetwork_isFalse() =
    fun isWifiDefault_cellularNotVcnNetwork_isFalse() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            val capabilities =
            val capabilities =
@@ -438,7 +431,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiDefault_isCarrierMergedViaUnderlyingWifi_isTrue() =
    fun isWifiDefault_isCarrierMergedViaUnderlyingWifi_isTrue() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            val underlyingNetwork = mock<Network>()
            val underlyingNetwork = mock<Network>()
@@ -473,7 +466,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiDefault_isCarrierMergedViaUnderlyingCellular_isTrue() =
    fun isWifiDefault_isCarrierMergedViaUnderlyingCellular_isTrue() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            val underlyingCarrierMergedNetwork = mock<Network>()
            val underlyingCarrierMergedNetwork = mock<Network>()
@@ -507,7 +500,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun isWifiDefault_wifiNetworkLost_isFalse() =
    fun isWifiDefault_wifiNetworkLost_isFalse() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            val job = underTest.isWifiDefault.launchIn(this)
            val job = underTest.isWifiDefault.launchIn(this)


            // First, add a network
            // First, add a network
@@ -526,7 +519,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_initiallyGetsDefault() =
    fun wifiNetwork_initiallyGetsDefault() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -537,7 +530,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_primaryWifiNetworkAdded_flowHasNetwork() =
    fun wifiNetwork_primaryWifiNetworkAdded_flowHasNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -561,7 +554,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_isCarrierMerged_flowHasCarrierMerged() =
    fun wifiNetwork_isCarrierMerged_flowHasCarrierMerged() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -581,7 +574,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_isCarrierMergedViaUnderlyingWifi_flowHasCarrierMerged() =
    fun wifiNetwork_isCarrierMergedViaUnderlyingWifi_flowHasCarrierMerged() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -618,7 +611,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_isCarrierMergedViaUnderlyingCellular_flowHasCarrierMerged() =
    fun wifiNetwork_isCarrierMergedViaUnderlyingCellular_flowHasCarrierMerged() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -656,7 +649,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_carrierMergedButInvalidSubId_flowHasInvalid() =
    fun wifiNetwork_carrierMergedButInvalidSubId_flowHasInvalid() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -680,7 +673,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_isCarrierMerged_getsCorrectValues() =
    fun wifiNetwork_isCarrierMerged_getsCorrectValues() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -715,7 +708,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_notValidated_networkNotValidated() =
    fun wifiNetwork_notValidated_networkNotValidated() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -732,7 +725,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_validated_networkValidated() =
    fun wifiNetwork_validated_networkValidated() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -749,7 +742,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_nonPrimaryWifiNetworkAdded_flowHasNoNetwork() =
    fun wifiNetwork_nonPrimaryWifiNetworkAdded_flowHasNoNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -770,7 +763,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
    /** Regression test for b/266628069. */
    /** Regression test for b/266628069. */
    @Test
    @Test
    fun wifiNetwork_transportInfoIsNotWifi_flowHasNoNetwork() =
    fun wifiNetwork_transportInfoIsNotWifi_flowHasNoNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -789,7 +782,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_cellularVcnNetworkAdded_flowHasNetwork() =
    fun wifiNetwork_cellularVcnNetworkAdded_flowHasNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -811,7 +804,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_nonPrimaryCellularVcnNetworkAdded_flowHasNoNetwork() =
    fun wifiNetwork_nonPrimaryCellularVcnNetworkAdded_flowHasNoNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -835,7 +828,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_cellularNotVcnNetworkAdded_flowHasNoNetwork() =
    fun wifiNetwork_cellularNotVcnNetworkAdded_flowHasNoNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -854,7 +847,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_cellularAndWifiTransports_usesCellular() =
    fun wifiNetwork_cellularAndWifiTransports_usesCellular() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -877,7 +870,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_newPrimaryWifiNetwork_flowHasNewNetwork() =
    fun wifiNetwork_newPrimaryWifiNetwork_flowHasNewNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -910,7 +903,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_newNonPrimaryWifiNetwork_flowHasOldNetwork() =
    fun wifiNetwork_newNonPrimaryWifiNetwork_flowHasOldNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -943,7 +936,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_newNetworkCapabilities_flowHasNewData() =
    fun wifiNetwork_newNetworkCapabilities_flowHasNewData() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -986,7 +979,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_noCurrentNetwork_networkLost_flowHasNoNetwork() =
    fun wifiNetwork_noCurrentNetwork_networkLost_flowHasNoNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -1001,7 +994,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_currentNetworkLost_flowHasNoNetwork() =
    fun wifiNetwork_currentNetworkLost_flowHasNoNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -1020,7 +1013,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_unknownNetworkLost_flowHasPreviousNetwork() =
    fun wifiNetwork_unknownNetworkLost_flowHasPreviousNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -1043,7 +1036,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiNetwork_notCurrentNetworkLost_flowHasCurrentNetwork() =
    fun wifiNetwork_notCurrentNetworkLost_flowHasCurrentNetwork() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: WifiNetworkModel? = null
            var latest: WifiNetworkModel? = null
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)


@@ -1069,7 +1062,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
    /** Regression test for b/244173280. */
    /** Regression test for b/244173280. */
    @Test
    @Test
    fun wifiNetwork_multipleSubscribers_newSubscribersGetCurrentValue() =
    fun wifiNetwork_multipleSubscribers_newSubscribersGetCurrentValue() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest1: WifiNetworkModel? = null
            var latest1: WifiNetworkModel? = null
            val job1 = underTest.wifiNetwork.onEach { latest1 = it }.launchIn(this)
            val job1 = underTest.wifiNetwork.onEach { latest1 = it }.launchIn(this)


@@ -1097,7 +1090,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiActivity_callbackGivesNone_activityFlowHasNone() =
    fun wifiActivity_callbackGivesNone_activityFlowHasNone() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: DataActivityModel? = null
            var latest: DataActivityModel? = null
            val job = underTest.wifiActivity.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiActivity.onEach { latest = it }.launchIn(this)


@@ -1111,7 +1104,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiActivity_callbackGivesIn_activityFlowHasIn() =
    fun wifiActivity_callbackGivesIn_activityFlowHasIn() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: DataActivityModel? = null
            var latest: DataActivityModel? = null
            val job = underTest.wifiActivity.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiActivity.onEach { latest = it }.launchIn(this)


@@ -1125,7 +1118,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiActivity_callbackGivesOut_activityFlowHasOut() =
    fun wifiActivity_callbackGivesOut_activityFlowHasOut() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: DataActivityModel? = null
            var latest: DataActivityModel? = null
            val job = underTest.wifiActivity.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiActivity.onEach { latest = it }.launchIn(this)


@@ -1139,7 +1132,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {


    @Test
    @Test
    fun wifiActivity_callbackGivesInout_activityFlowHasInAndOut() =
    fun wifiActivity_callbackGivesInout_activityFlowHasInAndOut() =
        runBlocking(IMMEDIATE) {
        testScope.runTest {
            var latest: DataActivityModel? = null
            var latest: DataActivityModel? = null
            val job = underTest.wifiActivity.onEach { latest = it }.launchIn(this)
            val job = underTest.wifiActivity.onEach { latest = it }.launchIn(this)


@@ -1159,7 +1152,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
            logger,
            logger,
            tableLogger,
            tableLogger,
            executor,
            executor,
            scope,
            testScope.backgroundScope,
            wifiManager,
            wifiManager,
        )
        )
    }
    }
@@ -1204,5 +1197,3 @@ class WifiRepositoryImplTest : SysuiTestCase() {
            }
            }
    }
    }
}
}

private val IMMEDIATE = Dispatchers.Main.immediate