diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp index 07df3c847a8..2be75ec6934 100644 --- a/tests/unit/Android.bp +++ b/tests/unit/Android.bp @@ -31,6 +31,7 @@ android_test { "mockito-target-minus-junit4", "platform-test-annotations", "platform-test-rules", + "testables", "truth", "kotlinx_coroutines_test", "SettingsLibPreference-testutils", diff --git a/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsIntensityPreferenceControllerTest.java b/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsIntensityPreferenceControllerTest.java index bc4709bca11..371904e2841 100644 --- a/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsIntensityPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsIntensityPreferenceControllerTest.java @@ -18,16 +18,12 @@ package com.android.settings.accessibility; import static com.google.common.truth.Truth.assertThat; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.when; - -import android.content.Context; -import android.content.res.Resources; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.platform.test.flag.junit.SetFlagsRule; import android.provider.Settings; +import android.testing.TestableContext; +import android.testing.TestableResources; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -46,16 +42,15 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest { @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); + @Rule + public final TestableContext mContext = + new TestableContext(ApplicationProvider.getApplicationContext()); - private Context mContext; - private Resources mResources; + private TestableResources mResources = mContext.getOrCreateTestableResources(); private ReduceBrightColorsIntensityPreferenceController mPreferenceController; @Before public void setUp() { - mContext = spy(ApplicationProvider.getApplicationContext()); - mResources = spy(mContext.getResources()); - when(mContext.getResources()).thenReturn(mResources); mPreferenceController = new ReduceBrightColorsIntensityPreferenceController(mContext, "rbc_intensity"); } @@ -63,12 +58,10 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest { @Test @DisableFlags(Flags.FLAG_EVEN_DIMMER) public void isAvailable_whenEvenDimmerOffAndDisabled_RbcOnAndAvailable_returnTrue() { - doReturn(false).when(mResources).getBoolean( - com.android.internal.R.bool.config_evenDimmerEnabled); + mResources.addOverride(com.android.internal.R.bool.config_evenDimmerEnabled, false); Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1); - doReturn(true).when(mResources).getBoolean( - R.bool.config_reduceBrightColorsAvailable); + mResources.addOverride(R.bool.config_reduceBrightColorsAvailable, true); assertThat(mPreferenceController.isAvailable()).isTrue(); } @@ -76,12 +69,11 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest { @Test @DisableFlags(Flags.FLAG_EVEN_DIMMER) public void isAvailable_whenEvenDimmerOffAndDisabled_RbcOffAndAvailable_returnTrue() { - doReturn(false).when(mResources).getBoolean( - com.android.internal.R.bool.config_evenDimmerEnabled); + mResources.addOverride(com.android.internal.R.bool.config_evenDimmerEnabled, false); Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 0); - doReturn(true).when(mResources).getBoolean( - R.bool.config_reduceBrightColorsAvailable); + mResources.addOverride( + R.bool.config_reduceBrightColorsAvailable, true); assertThat(mPreferenceController.isAvailable()).isTrue(); } @@ -89,12 +81,10 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest { @Test @DisableFlags(Flags.FLAG_EVEN_DIMMER) public void isAvailable_whenEvenDimmerOffAndDisabled_RbcOnAndUnavailable_returnFalse() { - doReturn(false).when(mResources).getBoolean( - com.android.internal.R.bool.config_evenDimmerEnabled); + mResources.addOverride(com.android.internal.R.bool.config_evenDimmerEnabled, false); Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1); - doReturn(false).when(mResources).getBoolean( - R.bool.config_reduceBrightColorsAvailable); + mResources.addOverride(R.bool.config_reduceBrightColorsAvailable, false); assertThat(mPreferenceController.isAvailable()).isFalse(); } @@ -102,12 +92,10 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest { @Test @EnableFlags(Flags.FLAG_EVEN_DIMMER) public void isAvailable_whenEvenDimmerOnAndDisabled_RbcOnAndAvailable_returnTrue() { - doReturn(false).when(mResources).getBoolean( - com.android.internal.R.bool.config_evenDimmerEnabled); + mResources.addOverride(com.android.internal.R.bool.config_evenDimmerEnabled, false); Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1); - doReturn(true).when(mResources).getBoolean( - R.bool.config_reduceBrightColorsAvailable); + mResources.addOverride(R.bool.config_reduceBrightColorsAvailable, true); assertThat(mPreferenceController.isAvailable()).isTrue(); } @@ -115,12 +103,10 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest { @Test @EnableFlags(Flags.FLAG_EVEN_DIMMER) public void isAvailable_whenEvenDimmerOnAndDisabled_RbcOffAndAvailable_returnTrue() { - doReturn(false).when(mResources).getBoolean( - com.android.internal.R.bool.config_evenDimmerEnabled); + mResources.addOverride(com.android.internal.R.bool.config_evenDimmerEnabled, false); Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 0); - doReturn(true).when(mResources).getBoolean( - R.bool.config_reduceBrightColorsAvailable); + mResources.addOverride(R.bool.config_reduceBrightColorsAvailable, true); assertThat(mPreferenceController.isAvailable()).isTrue(); } @@ -128,12 +114,10 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest { @Test @EnableFlags(Flags.FLAG_EVEN_DIMMER) public void isAvailable_whenEvenDimmerOnAndDisabled_RbcOnAndUnavailable_returnFalse() { - doReturn(false).when(mResources).getBoolean( - com.android.internal.R.bool.config_evenDimmerEnabled); + mResources.addOverride(com.android.internal.R.bool.config_evenDimmerEnabled, false); Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1); - doReturn(false).when(mResources).getBoolean( - R.bool.config_reduceBrightColorsAvailable); + mResources.addOverride(R.bool.config_reduceBrightColorsAvailable, false); assertThat(mPreferenceController.isAvailable()).isFalse(); } @@ -141,12 +125,10 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest { @Test @EnableFlags(Flags.FLAG_EVEN_DIMMER) public void isAvailable_whenEvenDimmerOnAndEnabled_RbcOnAndAvailable_returnFalse() { - doReturn(true).when(mResources).getBoolean( - com.android.internal.R.bool.config_evenDimmerEnabled); + mResources.addOverride(com.android.internal.R.bool.config_evenDimmerEnabled, true); Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1); - doReturn(true).when(mResources).getBoolean( - R.bool.config_reduceBrightColorsAvailable); + mResources.addOverride(R.bool.config_reduceBrightColorsAvailable, true); assertThat(mPreferenceController.isAvailable()).isFalse(); } @@ -154,12 +136,10 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest { @Test @EnableFlags(Flags.FLAG_EVEN_DIMMER) public void isAvailable_whenEvenDimmerOnAndEnabled_RbcOffAndAvailable_returnFalse() { - doReturn(true).when(mResources).getBoolean( - com.android.internal.R.bool.config_evenDimmerEnabled); + mResources.addOverride(com.android.internal.R.bool.config_evenDimmerEnabled, true); Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 0); - doReturn(true).when(mResources).getBoolean( - R.bool.config_reduceBrightColorsAvailable); + mResources.addOverride(R.bool.config_reduceBrightColorsAvailable, true); assertThat(mPreferenceController.isAvailable()).isFalse(); } @@ -167,12 +147,10 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest { @Test @EnableFlags(Flags.FLAG_EVEN_DIMMER) public void isAvailable_whenEvenDimmerOnAndEnabled_RbcOnAndUnavailable_returnFalse() { - doReturn(true).when(mResources).getBoolean( - com.android.internal.R.bool.config_evenDimmerEnabled); + mResources.addOverride(com.android.internal.R.bool.config_evenDimmerEnabled, true); Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1); - doReturn(false).when(mResources).getBoolean( - R.bool.config_reduceBrightColorsAvailable); + mResources.addOverride(R.bool.config_reduceBrightColorsAvailable, false); assertThat(mPreferenceController.isAvailable()).isFalse(); } diff --git a/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPersistencePreferenceControllerTest.java b/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPersistencePreferenceControllerTest.java index ef27d73119d..76efd1c1786 100644 --- a/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPersistencePreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPersistencePreferenceControllerTest.java @@ -18,13 +18,14 @@ package com.android.settings.accessibility; import static com.google.common.truth.Truth.assertThat; -import android.content.Context; import android.provider.Settings; +import android.testing.TestableContext; import androidx.preference.SwitchPreference; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -37,7 +38,9 @@ public class ReduceBrightColorsPersistencePreferenceControllerTest { private static final int OFF = 0; private static final int UNKNOWN = -1; - private final Context mContext = ApplicationProvider.getApplicationContext(); + @Rule + public final TestableContext mContext = + new TestableContext(ApplicationProvider.getApplicationContext()); private final SwitchPreference mPreference = new SwitchPreference(mContext); private final ReduceBrightColorsPersistencePreferenceController mController = new ReduceBrightColorsPersistencePreferenceController(mContext, PREF_KEY);