| /* |
| * Copyright (C) 2016 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.android.internal.os; |
| |
| import android.os.BatteryStats; |
| import android.os.Parcel; |
| import android.support.test.filters.SmallTest; |
| |
| import junit.framework.Assert; |
| import junit.framework.TestCase; |
| |
| /** |
| * Provides test cases for android.os.BatteryStats. |
| */ |
| public class BatteryStatsServTest extends TestCase { |
| private static final String TAG = "BatteryStatsServTest"; |
| |
| public static class TestServ extends BatteryStatsImpl.Uid.Pkg.Serv { |
| TestServ(MockBatteryStatsImpl bsi) { |
| super(bsi); |
| } |
| |
| void populate() { |
| mStartTime = 1010; |
| mRunningSince = 2021; |
| mRunning = true; |
| mStarts = 4042; |
| mLaunchedTime = 5053; |
| mLaunchedSince = 6064; |
| mLaunched = true; |
| mLaunches = 8085; |
| mLoadedStartTime = 9096; |
| mLoadedStarts = 10017; |
| mLoadedLaunches = 11118; |
| mLastStartTime = 12219; |
| mLastStarts = 13310; |
| mLastLaunches = 14411; |
| mUnpluggedStartTime = 15512; |
| mUnpluggedStarts = 16613; |
| mUnpluggedLaunches = 17714; |
| } |
| |
| long getStartTime() { |
| return mStartTime; |
| } |
| |
| long getRunningSince() { |
| return mRunningSince; |
| } |
| |
| void setRunning(boolean val) { |
| mRunning = val; |
| } |
| |
| boolean getRunning() { |
| return mRunning; |
| } |
| |
| int getStarts() { |
| return mStarts; |
| } |
| |
| long getLaunchedTime() { |
| return mLaunchedTime; |
| } |
| |
| long getLaunchedSince() { |
| return mLaunchedSince; |
| } |
| |
| void setLaunched(boolean val) { |
| mLaunched = val; |
| } |
| |
| boolean getLaunched() { |
| return mLaunched; |
| } |
| |
| int getLaunches() { |
| return mLaunches; |
| } |
| |
| long getLoadedStartTime() { |
| return mLoadedStartTime; |
| } |
| |
| int getLoadedStarts() { |
| return mLoadedStarts; |
| } |
| |
| int getLoadedLaunches() { |
| return mLoadedLaunches; |
| } |
| |
| long getLastStartTime() { |
| return mLastStartTime; |
| } |
| |
| int getLastStarts() { |
| return mLastStarts; |
| } |
| |
| int getLastLaunches() { |
| return mLastLaunches; |
| } |
| |
| long getUnpluggedStartTime() { |
| return mUnpluggedStartTime; |
| } |
| |
| int getUnpluggedStarts() { |
| return mUnpluggedStarts; |
| } |
| |
| int getUnpluggedLaunches() { |
| return mUnpluggedLaunches; |
| } |
| } |
| |
| /** |
| * Test that the constructor and detach methods touch the time bast observer list. |
| */ |
| @SmallTest |
| public void testConstructAndDetach() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl(); |
| |
| TestServ serv = new TestServ(bsi); |
| Assert.assertTrue(bsi.getOnBatteryTimeBase().hasObserver(serv)); |
| |
| serv.detach(); |
| Assert.assertFalse(bsi.getOnBatteryTimeBase().hasObserver(serv)); |
| } |
| |
| /** |
| * Test OnTimeStarted |
| */ |
| @SmallTest |
| public void testOnTimeStarted() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl(); |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setRunning(true); |
| serv.onTimeStarted(111111, 20000, 222222); |
| Assert.assertEquals(18989, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(4042, serv.getUnpluggedStarts()); |
| Assert.assertEquals(8085, serv.getUnpluggedLaunches()); |
| |
| serv.populate(); |
| serv.setRunning(false); |
| serv.onTimeStarted(111111, 20000, 222222); |
| Assert.assertEquals(1010, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(4042, serv.getUnpluggedStarts()); |
| Assert.assertEquals(8085, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test parceling and unparceling. |
| */ |
| @SmallTest |
| public void testParceling() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl(); |
| TestServ orig = new TestServ(bsi); |
| orig.populate(); |
| |
| Parcel parcel = Parcel.obtain(); |
| orig.writeToParcelLocked(parcel); |
| |
| parcel.setDataPosition(0); |
| |
| TestServ serv = new TestServ(bsi); |
| serv.readFromParcelLocked(parcel); |
| |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertTrue(serv.getRunning()); |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertTrue(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(0, serv.getLastStartTime()); |
| Assert.assertEquals(0, serv.getLastStarts()); |
| Assert.assertEquals(0, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test getLaunchTimeToNow() |
| */ |
| @SmallTest |
| public void testLaunchTimeToNow() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl(); |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setLaunched(true); |
| Assert.assertEquals(8989, serv.getLaunchTimeToNowLocked(10000)); |
| |
| serv.populate(); |
| serv.setLaunched(false); |
| Assert.assertEquals(5053, serv.getLaunchTimeToNowLocked(10000)); |
| |
| } |
| |
| /** |
| * Test getStartTimeToNow() |
| */ |
| @SmallTest |
| public void testStartTimeToNow() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl(); |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setRunning(true); |
| Assert.assertEquals(18989, serv.getStartTimeToNowLocked(20000)); |
| |
| serv.populate(); |
| serv.setRunning(false); |
| Assert.assertEquals(1010, serv.getStartTimeToNowLocked(20000)); |
| } |
| |
| /** |
| * Test startLaunchedLocked while not previously launched |
| */ |
| @SmallTest |
| public void testStartLaunchedLockedWhileLaunched() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl() { |
| @Override |
| public long getBatteryUptimeLocked() { |
| return 777777L; |
| } |
| }; |
| |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setLaunched(true); |
| serv.startLaunchedLocked(); |
| |
| // No changes |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertTrue(serv.getRunning()); |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertTrue(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test startLaunchedLocked while previously launched |
| */ |
| @SmallTest |
| public void testStartLaunchedLockedWhileNotLaunched() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl() { |
| @Override |
| public long getBatteryUptimeLocked() { |
| return 777777L; |
| } |
| }; |
| |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setLaunched(false); |
| serv.startLaunchedLocked(); |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertTrue(serv.getRunning()); |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(777777L, serv.getLaunchedSince()); // <-- changed |
| Assert.assertTrue(serv.getLaunched()); // <-- changed |
| Assert.assertEquals(8086, serv.getLaunches()); // <-- changed |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test stopLaunchedLocked when not previously launched. |
| */ |
| @SmallTest |
| public void testStopLaunchedLockedWhileNotLaunched() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl() { |
| @Override |
| public long getBatteryUptimeLocked() { |
| return 777777L; |
| } |
| }; |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setLaunched(false); |
| |
| serv.stopLaunchedLocked(); |
| |
| // No changes |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertTrue(serv.getRunning()); |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertFalse(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test stopLaunchedLocked when previously launched, with measurable time between |
| * start and stop. |
| */ |
| @SmallTest |
| public void testStopLaunchedLockedWhileLaunchedNormal() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl() { |
| @Override |
| public long getBatteryUptimeLocked() { |
| return 777777L; |
| } |
| }; |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setLaunched(true); |
| |
| serv.stopLaunchedLocked(); |
| |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertTrue(serv.getRunning()); |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(777777L-6064+5053, serv.getLaunchedTime()); // <-- changed |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertFalse(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test stopLaunchedLocked when previously launched, with no measurable time between |
| * start and stop. |
| */ |
| @SmallTest |
| public void testStopLaunchedLockedWhileLaunchedTooQuick() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl() { |
| @Override |
| public long getBatteryUptimeLocked() { |
| return 6064L; |
| } |
| }; |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setLaunched(true); |
| |
| serv.stopLaunchedLocked(); |
| |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertTrue(serv.getRunning()); |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertFalse(serv.getLaunched()); |
| Assert.assertEquals(8085-1, serv.getLaunches()); // <-- changed |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test startRunningLocked while previously running |
| */ |
| @SmallTest |
| public void testStartRunningLockedWhileRunning() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl() { |
| @Override |
| public long getBatteryUptimeLocked() { |
| return 777777L; |
| } |
| }; |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setRunning(true); |
| |
| serv.startRunningLocked(); |
| |
| // no change |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertTrue(serv.getRunning()); |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertTrue(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test startRunningLocked while not previously launched |
| */ |
| @SmallTest |
| public void testStartRunningLockedWhileNotRunning() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl() { |
| @Override |
| public long getBatteryUptimeLocked() { |
| return 777777L; |
| } |
| }; |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setRunning(false); |
| |
| serv.startRunningLocked(); |
| |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(777777L, serv.getRunningSince()); |
| Assert.assertTrue(serv.getRunning()); |
| Assert.assertEquals(4042+1, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertTrue(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test stopRunningLocked when previously launched, with measurable time between |
| * start and stop. |
| */ |
| @SmallTest |
| public void testStopRunningLockedWhileRunningNormal() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl() { |
| @Override |
| public long getBatteryUptimeLocked() { |
| return 777777L; |
| } |
| }; |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setRunning(true); |
| |
| serv.stopRunningLocked(); |
| |
| Assert.assertEquals(777777L-2021+1010, serv.getStartTime()); // <-- changed |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertFalse(serv.getRunning()); // <-- changed |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertTrue(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test stopRunningLocked when previously launched, with measurable time between |
| * start and stop. |
| */ |
| @SmallTest |
| public void testStopRunningLockedWhileRunningTooQuick() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl() { |
| @Override |
| public long getBatteryUptimeLocked() { |
| return 2021; |
| } |
| }; |
| TestServ serv = new TestServ(bsi); |
| |
| serv.populate(); |
| serv.setRunning(true); |
| |
| serv.stopRunningLocked(); |
| |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertFalse(serv.getRunning()); // <-- changed |
| Assert.assertEquals(4042-1, serv.getStarts()); // <-- changed |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertTrue(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test that getBatteryStats returns the BatteryStatsImpl passed in to the contstructor. |
| */ |
| @SmallTest |
| public void testGetBatteryStats() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl(); |
| TestServ serv = new TestServ(bsi); |
| |
| Assert.assertEquals(bsi, serv.getBatteryStats()); |
| } |
| |
| /** |
| * Test getLaunches |
| */ |
| @SmallTest |
| public void testGetLaunches() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl(); |
| TestServ serv = new TestServ(bsi); |
| serv.populate(); |
| |
| Assert.assertEquals(8085, serv.getLaunches(BatteryStats.STATS_SINCE_CHARGED)); |
| Assert.assertEquals(8085-11118, serv.getLaunches(BatteryStats.STATS_CURRENT)); |
| Assert.assertEquals(8085-17714, serv.getLaunches(BatteryStats.STATS_SINCE_UNPLUGGED)); |
| |
| // No change to fields |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertTrue(serv.getRunning()); |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertTrue(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test getStartTime while running |
| */ |
| @SmallTest |
| public void testGetStartTimeRunning() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl(); |
| TestServ serv = new TestServ(bsi); |
| serv.populate(); |
| serv.setRunning(true); |
| |
| final long startTimeToNow = 1010 + 20000 - 2021; |
| |
| Assert.assertEquals(startTimeToNow, |
| serv.getStartTime(20000, BatteryStats.STATS_SINCE_CHARGED)); |
| Assert.assertEquals(startTimeToNow-9096, |
| serv.getStartTime(20000, BatteryStats.STATS_CURRENT)); |
| Assert.assertEquals(startTimeToNow-15512, |
| serv.getStartTime(20000, BatteryStats.STATS_SINCE_UNPLUGGED)); |
| |
| // No change to fields |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertTrue(serv.getRunning()); |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertTrue(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| /** |
| * Test getStartTime while not running |
| */ |
| @SmallTest |
| public void testGetStartTimeNotRunning() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl(); |
| TestServ serv = new TestServ(bsi); |
| serv.populate(); |
| serv.setRunning(false); |
| |
| final long startTimeToNow = 1010; |
| |
| Assert.assertEquals(startTimeToNow, |
| serv.getStartTime(20000, BatteryStats.STATS_SINCE_CHARGED)); |
| Assert.assertEquals(startTimeToNow-9096, |
| serv.getStartTime(20000, BatteryStats.STATS_CURRENT)); |
| Assert.assertEquals(startTimeToNow-15512, |
| serv.getStartTime(20000, BatteryStats.STATS_SINCE_UNPLUGGED)); |
| |
| // No change to fields |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertFalse(serv.getRunning()); |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertTrue(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| |
| /** |
| * Test getStarts |
| */ |
| @SmallTest |
| public void testGetStarts() throws Exception { |
| MockBatteryStatsImpl bsi = new MockBatteryStatsImpl(); |
| TestServ serv = new TestServ(bsi); |
| serv.populate(); |
| |
| Assert.assertEquals(4042, serv.getStarts(BatteryStats.STATS_SINCE_CHARGED)); |
| Assert.assertEquals(4042-10017, serv.getStarts(BatteryStats.STATS_CURRENT)); |
| Assert.assertEquals(4042-16613, serv.getStarts(BatteryStats.STATS_SINCE_UNPLUGGED)); |
| |
| // No change to fields |
| Assert.assertEquals(1010, serv.getStartTime()); |
| Assert.assertEquals(2021, serv.getRunningSince()); |
| Assert.assertTrue(serv.getRunning()); |
| Assert.assertEquals(4042, serv.getStarts()); |
| Assert.assertEquals(5053, serv.getLaunchedTime()); |
| Assert.assertEquals(6064, serv.getLaunchedSince()); |
| Assert.assertTrue(serv.getLaunched()); |
| Assert.assertEquals(8085, serv.getLaunches()); |
| Assert.assertEquals(9096, serv.getLoadedStartTime()); |
| Assert.assertEquals(10017, serv.getLoadedStarts()); |
| Assert.assertEquals(11118, serv.getLoadedLaunches()); |
| Assert.assertEquals(12219, serv.getLastStartTime()); |
| Assert.assertEquals(13310, serv.getLastStarts()); |
| Assert.assertEquals(14411, serv.getLastLaunches()); |
| Assert.assertEquals(15512, serv.getUnpluggedStartTime()); |
| Assert.assertEquals(16613, serv.getUnpluggedStarts()); |
| Assert.assertEquals(17714, serv.getUnpluggedLaunches()); |
| } |
| |
| } |
| |