From a8bf939d41ba094896184e4f614a1bc75e464037 Mon Sep 17 00:00:00 2001 From: Jeremy Goldman Date: Tue, 23 Feb 2021 14:59:32 +0800 Subject: [PATCH] DeviceModelPreferenceControllerTest converted to JUnit. Test: atest -c DeviceModelPreferenceControllerTest Change-Id: Ibdf3a86fb7f77a40844b62980e4e3f1f7e9a5bd8 --- .../DeviceModelPreferenceControllerTest.java | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) rename tests/{robotests => unit}/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceControllerTest.java (66%) diff --git a/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceControllerTest.java b/tests/unit/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceControllerTest.java similarity index 66% rename from tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceControllerTest.java rename to tests/unit/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceControllerTest.java index 65e29b4c083..847919ac2a6 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceControllerTest.java @@ -18,41 +18,57 @@ package com.android.settings.deviceinfo.hardwareinfo; import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; + import android.content.Context; +import android.content.res.Resources; + +import androidx.test.core.app.ApplicationProvider; +import androidx.test.ext.junit.runners.AndroidJUnit4; import com.android.settings.core.BasePreferenceController; +import com.android.settings.testutils.ResourcesUtils; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; -import org.robolectric.annotation.Config; -@RunWith(RobolectricTestRunner.class) +@RunWith(AndroidJUnit4.class) public class DeviceModelPreferenceControllerTest { private Context mContext; private DeviceModelPreferenceController mController; + @Mock + private Resources mResources; @Before public void setUp() { MockitoAnnotations.initMocks(this); - mContext = RuntimeEnvironment.application; + mContext = spy(ApplicationProvider.getApplicationContext()); + when(mContext.getResources()).thenReturn(mResources); mController = new DeviceModelPreferenceController(mContext, "test_key"); } @Test public void getAvailabilityStatus_configAllowed_available() { + final int boolId = ResourcesUtils.getResourcesId( + ApplicationProvider.getApplicationContext(), "bool", "config_show_device_model"); + when(mResources.getBoolean(boolId)).thenReturn(true); + assertThat(mController.getAvailabilityStatus()).isEqualTo( BasePreferenceController.AVAILABLE); } @Test - @Config(qualifiers = "mcc999") public void getAvailabilityStatus_configDisallowed_unavailable() { + final int boolId = ResourcesUtils.getResourcesId( + ApplicationProvider.getApplicationContext(), "bool", "config_show_device_model"); + when(mResources.getBoolean(boolId)).thenReturn(false); + assertThat(mController.getAvailabilityStatus()).isEqualTo( BasePreferenceController.UNSUPPORTED_ON_DEVICE); }