package org.robolectric.shadows; import android.content.Context; import android.os.BatteryManager; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; import org.robolectric.TestRunners; import org.robolectric.annotation.Config; import static android.os.Build.VERSION_CODES.LOLLIPOP; import static android.os.Build.VERSION_CODES.M; import static org.assertj.core.api.Assertions.assertThat; import static org.robolectric.Shadows.shadowOf; @RunWith(TestRunners.MultiApiSelfTest.class) @Config(minSdk = LOLLIPOP) public class ShadowBatteryManagerTest { private BatteryManager batteryManager; private ShadowBatteryManager shadowBatteryManager; private static final int TEST_ID = 123; @Before public void before() { batteryManager = (BatteryManager) RuntimeEnvironment.application.getSystemService( Context.BATTERY_SERVICE); shadowBatteryManager = shadowOf(batteryManager); } @Test @Config(minSdk = M) public void testIsCharging() { assertThat(batteryManager.isCharging()).isFalse(); shadowBatteryManager.setIsCharging(true); assertThat(batteryManager.isCharging()).isTrue(); shadowBatteryManager.setIsCharging(false); assertThat(batteryManager.isCharging()).isFalse(); } @Test public void testGetIntProperty() { assertThat(batteryManager.getIntProperty(TEST_ID)).isEqualTo(Integer.MIN_VALUE); shadowBatteryManager.setIntProperty(TEST_ID, 5); assertThat(batteryManager.getIntProperty(TEST_ID)).isEqualTo(5); shadowBatteryManager.setIntProperty(TEST_ID, 0); assertThat(batteryManager.getIntProperty(TEST_ID)).isEqualTo(0); shadowBatteryManager.setIntProperty(TEST_ID, Integer.MAX_VALUE); assertThat(batteryManager.getIntProperty(TEST_ID)).isEqualTo(Integer.MAX_VALUE); } @Test public void testGetLongProperty() { assertThat(batteryManager.getLongProperty(TEST_ID)).isEqualTo(Long.MIN_VALUE); shadowBatteryManager.setLongProperty(TEST_ID, 5L); assertThat(batteryManager.getLongProperty(TEST_ID)).isEqualTo(5L); shadowBatteryManager.setLongProperty(TEST_ID, 0); assertThat(batteryManager.getLongProperty(TEST_ID)).isEqualTo(0); shadowBatteryManager.setLongProperty(TEST_ID, Long.MAX_VALUE); assertThat(batteryManager.getLongProperty(TEST_ID)).isEqualTo(Long.MAX_VALUE); } }