Merge "Refine the interpolation rule and clip the usage time data" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
180051cf05
@@ -140,6 +140,21 @@ public final class ConvertUtilsTest {
|
||||
.isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetIndexedUsageMap_nullOrEmptyHistoryMap_returnEmptyCollection() {
|
||||
final int timeSlotSize = 2;
|
||||
final long[] batteryHistoryKeys = new long[] {101L, 102L, 103L, 104L, 105L};
|
||||
|
||||
assertThat(ConvertUtils.getIndexedUsageMap(
|
||||
mContext, timeSlotSize, batteryHistoryKeys,
|
||||
/*batteryHistoryMap=*/ null, /*purgeLowPercentageAndFakeData=*/ true))
|
||||
.isEmpty();
|
||||
assertThat(ConvertUtils.getIndexedUsageMap(
|
||||
mContext, timeSlotSize, batteryHistoryKeys,
|
||||
new HashMap<Long, Map<String, BatteryHistEntry>>(),
|
||||
/*purgeLowPercentageAndFakeData=*/ true))
|
||||
.isEmpty();
|
||||
}
|
||||
@Test
|
||||
public void testGetIndexedUsageMap_returnsExpectedResult() {
|
||||
// Creates the fake testing data.
|
||||
@@ -147,21 +162,25 @@ public final class ConvertUtilsTest {
|
||||
final long[] batteryHistoryKeys = new long[] {101L, 102L, 103L, 104L, 105L};
|
||||
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
|
||||
new HashMap<>();
|
||||
final BatteryHistEntry fakeEntry = createBatteryHistEntry(
|
||||
ConvertUtils.FAKE_PACKAGE_NAME, "fake_label", 0, 0L, 0L, 0L);
|
||||
// Adds the index = 0 data.
|
||||
Map<String, BatteryHistEntry> entryMap = new HashMap<>();
|
||||
BatteryHistEntry entry = createBatteryHistEntry(
|
||||
"package1", "label1", 5.0, 1L, 10L, 20L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
entryMap.put(fakeEntry.getKey(), fakeEntry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[0]), entryMap);
|
||||
// Adds the index = 1 data.
|
||||
batteryHistoryMap.put(
|
||||
Long.valueOf(batteryHistoryKeys[1]),
|
||||
new HashMap<String, BatteryHistEntry>());
|
||||
entryMap = new HashMap<>();
|
||||
entryMap.put(fakeEntry.getKey(), fakeEntry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[1]), entryMap);
|
||||
// Adds the index = 2 data.
|
||||
entryMap = new HashMap<>();
|
||||
entry = createBatteryHistEntry(
|
||||
"package2", "label2", 10.0, 2L, 15L, 25L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
entryMap.put(fakeEntry.getKey(), fakeEntry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[2]), entryMap);
|
||||
// Adds the index = 3 data.
|
||||
entryMap = new HashMap<>();
|
||||
@@ -171,6 +190,7 @@ public final class ConvertUtilsTest {
|
||||
entry = createBatteryHistEntry(
|
||||
"package3", "label3", 5.0, 3L, 5L, 5L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
entryMap.put(fakeEntry.getKey(), fakeEntry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[3]), entryMap);
|
||||
// Adds the index = 4 data.
|
||||
entryMap = new HashMap<>();
|
||||
@@ -183,12 +203,13 @@ public final class ConvertUtilsTest {
|
||||
entry = createBatteryHistEntry(
|
||||
"package3", "label3", 5.0, 3L, 5L, 5L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
entryMap.put(fakeEntry.getKey(), fakeEntry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[4]), entryMap);
|
||||
|
||||
final Map<Integer, List<BatteryDiffEntry>> resultMap =
|
||||
ConvertUtils.getIndexedUsageMap(
|
||||
mContext, timeSlotSize, batteryHistoryKeys, batteryHistoryMap,
|
||||
/*purgeLowPercentageData=*/ false);
|
||||
/*purgeLowPercentageAndFakeData=*/ false);
|
||||
|
||||
assertThat(resultMap).hasSize(3);
|
||||
// Verifies the first timestamp result.
|
||||
@@ -213,7 +234,7 @@ public final class ConvertUtilsTest {
|
||||
final Map<Integer, List<BatteryDiffEntry>> purgedResultMap =
|
||||
ConvertUtils.getIndexedUsageMap(
|
||||
mContext, timeSlotSize, batteryHistoryKeys, batteryHistoryMap,
|
||||
/*purgeLowPercentageData=*/ true);
|
||||
/*purgeLowPercentageAndFakeData=*/ true);
|
||||
|
||||
assertThat(purgedResultMap).hasSize(3);
|
||||
// Verifies the first timestamp result.
|
||||
@@ -225,8 +246,49 @@ public final class ConvertUtilsTest {
|
||||
assertBatteryDiffEntry(entryList.get(0), 75, 40L, 50L);
|
||||
// Verifies the last 24 hours aggregate result.
|
||||
entryList = purgedResultMap.get(Integer.valueOf(-1));
|
||||
assertThat(entryList).hasSize(2);
|
||||
// Verifies the fake data is cleared out.
|
||||
assertThat(entryList.get(0).getPackageName())
|
||||
.isNotEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
|
||||
assertThat(entryList.get(1).getPackageName())
|
||||
.isNotEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetIndexedUsageMap_usageTimeExceed_returnsExpectedResult() {
|
||||
final int timeSlotSize = 1;
|
||||
final long[] batteryHistoryKeys = new long[] {101L, 102L, 103L};
|
||||
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
|
||||
new HashMap<>();
|
||||
final BatteryHistEntry fakeEntry = createBatteryHistEntry(
|
||||
ConvertUtils.FAKE_PACKAGE_NAME, "fake_label", 0, 0L, 0L, 0L);
|
||||
// Adds the index = 0 data.
|
||||
Map<String, BatteryHistEntry> entryMap = new HashMap<>();
|
||||
entryMap.put(fakeEntry.getKey(), fakeEntry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[0]), entryMap);
|
||||
// Adds the index = 1 data.
|
||||
entryMap = new HashMap<>();
|
||||
entryMap.put(fakeEntry.getKey(), fakeEntry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[1]), entryMap);
|
||||
// Adds the index = 2 data.
|
||||
entryMap = new HashMap<>();
|
||||
final BatteryHistEntry entry = createBatteryHistEntry(
|
||||
"package3", "label3", 500, 5L, 3600000L, 7200000L);
|
||||
entryMap.put(entry.getKey(), entry);
|
||||
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[2]), entryMap);
|
||||
|
||||
final Map<Integer, List<BatteryDiffEntry>> purgedResultMap =
|
||||
ConvertUtils.getIndexedUsageMap(
|
||||
mContext, timeSlotSize, batteryHistoryKeys, batteryHistoryMap,
|
||||
/*purgeLowPercentageAndFakeData=*/ true);
|
||||
|
||||
assertThat(purgedResultMap).hasSize(2);
|
||||
final List<BatteryDiffEntry> entryList = purgedResultMap.get(0);
|
||||
assertThat(entryList).hasSize(1);
|
||||
assertBatteryDiffEntry(entryList.get(0), 68, 40L, 50L);
|
||||
// Verifies the clipped usage time.
|
||||
final BatteryDiffEntry resultEntry = entryList.get(0);
|
||||
assertThat(resultEntry.mForegroundUsageTimeInMs).isEqualTo(2400000);
|
||||
assertThat(resultEntry.mBackgroundUsageTimeInMs).isEqualTo(4800000);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user