Mock SystemProperties in CDMA JUnit test
Bug: 170608563 Test: atest -c CdmaSubscriptionPreferenceControllerTest Change-Id: Ibeca5e508d8277a9b84e26829e085c43ce7c26cc
This commit is contained in:
@@ -79,7 +79,7 @@ public class CdmaSubscriptionPreferenceController extends CdmaBasePreferenceCont
|
||||
@VisibleForTesting
|
||||
boolean deviceSupportsNvAndRuim() {
|
||||
// retrieve the list of subscription types supported by device.
|
||||
final String subscriptionsSupported = SystemProperties.get("ril.subscription.types");
|
||||
final String subscriptionsSupported = getRilSubscriptionTypes();
|
||||
boolean nvSupported = false;
|
||||
boolean ruimSupported = false;
|
||||
|
||||
@@ -98,4 +98,9 @@ public class CdmaSubscriptionPreferenceController extends CdmaBasePreferenceCont
|
||||
|
||||
return (nvSupported && ruimSupported);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
protected String getRilSubscriptionTypes() {
|
||||
return SystemProperties.get("ril.subscription.types");
|
||||
}
|
||||
}
|
||||
|
@@ -24,7 +24,6 @@ import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.SystemProperties;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.TelephonyManager;
|
||||
|
||||
@@ -64,7 +63,7 @@ public class CdmaSubscriptionPreferenceControllerTest {
|
||||
doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
|
||||
|
||||
mPreference = new ListPreference(mContext);
|
||||
mController = new CdmaSubscriptionPreferenceController(mContext, "mobile_data");
|
||||
mController = spy(new CdmaSubscriptionPreferenceController(mContext, "mobile_data"));
|
||||
mController.init(mPreferenceManager, SUB_ID);
|
||||
mController.mPreference = mPreference;
|
||||
mPreference.setKey(mController.getPreferenceKey());
|
||||
@@ -72,16 +71,12 @@ public class CdmaSubscriptionPreferenceControllerTest {
|
||||
mCdmaMode = Settings.Global.getInt(mContext.getContentResolver(),
|
||||
Settings.Global.CDMA_SUBSCRIPTION_MODE,
|
||||
TelephonyManager.CDMA_SUBSCRIPTION_RUIM_SIM);
|
||||
|
||||
mSubscriptionsSupported = SystemProperties.get("ril.subscription.types");
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.CDMA_SUBSCRIPTION_MODE, mCdmaMode);
|
||||
|
||||
SystemProperties.set("ril.subscription.types", mSubscriptionsSupported);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -123,11 +118,9 @@ public class CdmaSubscriptionPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void deviceSupportsNvAndRuim() {
|
||||
SystemProperties.set("ril.subscription.types", "NV,RUIM");
|
||||
doReturn("NV,RUIM").when(mController).getRilSubscriptionTypes();
|
||||
assertThat(mController.deviceSupportsNvAndRuim()).isTrue();
|
||||
|
||||
SystemProperties.set("ril.subscription.types", "");
|
||||
|
||||
doReturn("").when(mController).getRilSubscriptionTypes();
|
||||
assertThat(mController.deviceSupportsNvAndRuim()).isFalse();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user