package com.android.settings.display; import static com.google.common.truth.Truth.assertThat; import android.app.Application; import android.content.ComponentName; import android.provider.Settings.Secure; import com.android.internal.app.ColorDisplayController; import com.android.settings.R; import com.android.settings.Settings.NightDisplaySuggestionActivity; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.annotation.Config; import org.robolectric.RuntimeEnvironment; @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = { SettingsShadowResources.class }) public class NightDisplayPreferenceControllerTest { private NightDisplayPreferenceController mPreferenceController; @Before public void setUp() { mPreferenceController = new NightDisplayPreferenceController(RuntimeEnvironment.application); } @After public void tearDown() { mPreferenceController = null; SettingsShadowResources.reset(); } @Test public void nightDisplaySuggestion_isNotCompleted_ifAutoModeDisabled() { final Application context = RuntimeEnvironment.application; Secure.putInt(context.getContentResolver(), Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_DISABLED); final ComponentName componentName = new ComponentName(context, NightDisplaySuggestionActivity.class); assertThat(mPreferenceController.isSuggestionComplete(context)).isFalse(); } @Test public void nightDisplaySuggestion_isCompleted_ifAutoModeCustom() { final Application context = RuntimeEnvironment.application; Secure.putInt(context.getContentResolver(), Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_CUSTOM); final ComponentName componentName = new ComponentName(context, NightDisplaySuggestionActivity.class); assertThat(mPreferenceController.isSuggestionComplete(context)).isTrue(); } @Test public void nightDisplaySuggestion_isCompleted_ifAutoModeTwilight() { final Application context = RuntimeEnvironment.application; Secure.putInt(context.getContentResolver(), Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_TWILIGHT); final ComponentName componentName = new ComponentName(context, NightDisplaySuggestionActivity.class); assertThat(mPreferenceController.isSuggestionComplete(context)).isTrue(); } @Test public void nightDisplaySuggestion_isCompleted_ifDisabled() { final Application context = RuntimeEnvironment.application; Secure.putInt(context.getContentResolver(), Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_DISABLED); SettingsShadowResources.overrideResource(R.bool.config_night_light_suggestion_enabled, false); final ComponentName componentName = new ComponentName(context, NightDisplaySuggestionActivity.class); assertThat(mPreferenceController.isSuggestionComplete(context)).isTrue(); } }