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
|
@VisibleForTesting
|
||||||
boolean deviceSupportsNvAndRuim() {
|
boolean deviceSupportsNvAndRuim() {
|
||||||
// retrieve the list of subscription types supported by device.
|
// 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 nvSupported = false;
|
||||||
boolean ruimSupported = false;
|
boolean ruimSupported = false;
|
||||||
|
|
||||||
@@ -98,4 +98,9 @@ public class CdmaSubscriptionPreferenceController extends CdmaBasePreferenceCont
|
|||||||
|
|
||||||
return (nvSupported && ruimSupported);
|
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 static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.SystemProperties;
|
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
|
|
||||||
@@ -64,7 +63,7 @@ public class CdmaSubscriptionPreferenceControllerTest {
|
|||||||
doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
|
doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
|
||||||
|
|
||||||
mPreference = new ListPreference(mContext);
|
mPreference = new ListPreference(mContext);
|
||||||
mController = new CdmaSubscriptionPreferenceController(mContext, "mobile_data");
|
mController = spy(new CdmaSubscriptionPreferenceController(mContext, "mobile_data"));
|
||||||
mController.init(mPreferenceManager, SUB_ID);
|
mController.init(mPreferenceManager, SUB_ID);
|
||||||
mController.mPreference = mPreference;
|
mController.mPreference = mPreference;
|
||||||
mPreference.setKey(mController.getPreferenceKey());
|
mPreference.setKey(mController.getPreferenceKey());
|
||||||
@@ -72,16 +71,12 @@ public class CdmaSubscriptionPreferenceControllerTest {
|
|||||||
mCdmaMode = Settings.Global.getInt(mContext.getContentResolver(),
|
mCdmaMode = Settings.Global.getInt(mContext.getContentResolver(),
|
||||||
Settings.Global.CDMA_SUBSCRIPTION_MODE,
|
Settings.Global.CDMA_SUBSCRIPTION_MODE,
|
||||||
TelephonyManager.CDMA_SUBSCRIPTION_RUIM_SIM);
|
TelephonyManager.CDMA_SUBSCRIPTION_RUIM_SIM);
|
||||||
|
|
||||||
mSubscriptionsSupported = SystemProperties.get("ril.subscription.types");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
public void tearDown() {
|
public void tearDown() {
|
||||||
Settings.Global.putInt(mContext.getContentResolver(),
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
Settings.Global.CDMA_SUBSCRIPTION_MODE, mCdmaMode);
|
Settings.Global.CDMA_SUBSCRIPTION_MODE, mCdmaMode);
|
||||||
|
|
||||||
SystemProperties.set("ril.subscription.types", mSubscriptionsSupported);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -123,11 +118,9 @@ public class CdmaSubscriptionPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void deviceSupportsNvAndRuim() {
|
public void deviceSupportsNvAndRuim() {
|
||||||
SystemProperties.set("ril.subscription.types", "NV,RUIM");
|
doReturn("NV,RUIM").when(mController).getRilSubscriptionTypes();
|
||||||
assertThat(mController.deviceSupportsNvAndRuim()).isTrue();
|
assertThat(mController.deviceSupportsNvAndRuim()).isTrue();
|
||||||
|
doReturn("").when(mController).getRilSubscriptionTypes();
|
||||||
SystemProperties.set("ril.subscription.types", "");
|
|
||||||
|
|
||||||
assertThat(mController.deviceSupportsNvAndRuim()).isFalse();
|
assertThat(mController.deviceSupportsNvAndRuim()).isFalse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user