1 /*
2  * Copyright (C) 2021 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.android.systemui.statusbar.connectivity
17 
18 import androidx.test.ext.junit.runners.AndroidJUnit4
19 import androidx.test.filters.SmallTest
20 import com.android.settingslib.mobile.TelephonyIcons
21 import com.android.systemui.SysuiTestCase
22 import junit.framework.Assert.assertFalse
23 import junit.framework.Assert.assertTrue
24 import org.junit.Before
25 import org.junit.Test
26 import org.junit.runner.RunWith
27 
28 @SmallTest
29 @RunWith(AndroidJUnit4::class)
30 class MobileStateTest : SysuiTestCase() {
31 
32     private val state = MobileState()
setUpnull33     @Before fun setUp() {}
34 
35     @Test
testIsDataDisabledOrNotDefault_dataDisablednull36     fun testIsDataDisabledOrNotDefault_dataDisabled() {
37         state.iconGroup = TelephonyIcons.DATA_DISABLED
38         state.userSetup = true
39         assertTrue(state.isDataDisabledOrNotDefault)
40     }
41 
42     @Test
testIsDataDisabledOrNotDefault_notDefaultDatanull43     fun testIsDataDisabledOrNotDefault_notDefaultData() {
44         state.iconGroup = TelephonyIcons.NOT_DEFAULT_DATA
45         state.userSetup = true
46         assertTrue(state.isDataDisabledOrNotDefault)
47     }
48 
49     @Test
testIsDataDisabledOrNotDefault_notDisablednull50     fun testIsDataDisabledOrNotDefault_notDisabled() {
51         state.iconGroup = TelephonyIcons.G
52         state.userSetup = true
53         assertFalse(state.isDataDisabledOrNotDefault)
54     }
55 
56     @Test
testHasActivityIn_noData_noActivitynull57     fun testHasActivityIn_noData_noActivity() {
58         state.dataConnected = false
59         state.carrierNetworkChangeMode = false
60         state.activityIn = false
61         assertFalse(state.hasActivityIn())
62     }
63 
64     @Test
testHasActivityIn_noData_activityInnull65     fun testHasActivityIn_noData_activityIn() {
66         state.dataConnected = false
67         state.carrierNetworkChangeMode = false
68         state.activityIn = true
69         assertFalse(state.hasActivityIn())
70     }
71 
72     @Test
testHasActivityIn_dataConnected_activityInnull73     fun testHasActivityIn_dataConnected_activityIn() {
74         state.dataConnected = true
75         state.carrierNetworkChangeMode = false
76         state.activityIn = true
77         assertTrue(state.hasActivityIn())
78     }
79 
80     @Test
testHasActivityIn_carrierNetworkChangenull81     fun testHasActivityIn_carrierNetworkChange() {
82         state.dataConnected = true
83         state.carrierNetworkChangeMode = true
84         state.activityIn = true
85         assertFalse(state.hasActivityIn())
86     }
87 
88     @Test
testHasActivityOut_noData_noActivitynull89     fun testHasActivityOut_noData_noActivity() {
90         state.dataConnected = false
91         state.carrierNetworkChangeMode = false
92         state.activityOut = false
93         assertFalse(state.hasActivityOut())
94     }
95 
96     @Test
testHasActivityOut_noData_activityOutnull97     fun testHasActivityOut_noData_activityOut() {
98         state.dataConnected = false
99         state.carrierNetworkChangeMode = false
100         state.activityOut = true
101         assertFalse(state.hasActivityOut())
102     }
103 
104     @Test
testHasActivityOut_dataConnected_activityOutnull105     fun testHasActivityOut_dataConnected_activityOut() {
106         state.dataConnected = true
107         state.carrierNetworkChangeMode = false
108         state.activityOut = true
109         assertTrue(state.hasActivityOut())
110     }
111 
112     @Test
testHasActivityOut_carrierNetworkChangenull113     fun testHasActivityOut_carrierNetworkChange() {
114         state.dataConnected = true
115         state.carrierNetworkChangeMode = true
116         state.activityOut = true
117         assertFalse(state.hasActivityOut())
118     }
119 }
120