Report unavailable data usage.

- when showing the data usage graph, if the first data point is equal to
the first available data, insert a 0 usage point on the first day of
available data, so that it will show a flat line for the days that do
not have available data instead of showing a non-zero slope.

Change-Id: Ibf305e292a65ab3310ea12efbb575e3a7e1b6012
Fixes: 76155147
Test: make RunSettingsRoboTests
This commit is contained in:
Doris Ling
2018-03-28 17:14:23 -07:00
parent caf72cf3ff
commit 02b4cf2aca
4 changed files with 171 additions and 5 deletions

View File

@@ -59,7 +59,7 @@ public class UsageGraphTest {
}
@Test
public void testCalculateLocalPaths_singlePath() {
public void calculateLocalPaths_singlePath() {
SparseIntArray paths = new SparseIntArray();
paths.append(0, 100);
paths.append(500, 50);
@@ -78,7 +78,7 @@ public class UsageGraphTest {
}
@Test
public void testCalculateLocalPaths_multiplePaths() {
public void calculateLocalPaths_multiplePaths() {
SparseIntArray paths = new SparseIntArray();
paths.append(0, 100);
paths.append(200, 75);
@@ -109,7 +109,7 @@ public class UsageGraphTest {
}
@Test
public void testCalculateLocalPaths_similarPointMiddle() {
public void calculateLocalPaths_similarPointMiddle() {
SparseIntArray paths = new SparseIntArray();
paths.append(0, 100);
paths.append(1, 99); // This point should be omitted.
@@ -129,7 +129,7 @@ public class UsageGraphTest {
}
@Test
public void testCalculateLocalPaths_similarPointEnd() {
public void calculateLocalPaths_similarPointEnd() {
SparseIntArray paths = new SparseIntArray();
paths.append(0, 100);
paths.append(499, 51);
@@ -149,4 +149,32 @@ public class UsageGraphTest {
assertThat(localPaths.keyAt(3)).isEqualTo(1001);
assertThat(localPaths.valueAt(3)).isEqualTo(-1);
}
@Test
public void calculateLocalPaths_unavailableData_shouldInsertFlatPoint() {
SparseIntArray paths = new SparseIntArray();
paths.append(0, 0);
paths.append(199, -1);
paths.append(200, 25);
paths.append(300, 50);
paths.append(500, 75);
paths.append(501, -1);
SparseIntArray localPaths = new SparseIntArray();
mGraph.calculateLocalPaths(paths, localPaths);
assertThat(localPaths.size()).isEqualTo(6);
assertThat(localPaths.keyAt(0)).isEqualTo(0);
assertThat(localPaths.valueAt(0)).isEqualTo(200);
assertThat(localPaths.keyAt(1)).isEqualTo(399);
assertThat(localPaths.valueAt(1)).isEqualTo(200);
assertThat(localPaths.keyAt(2)).isEqualTo(400);
assertThat(localPaths.valueAt(2)).isEqualTo(150);
assertThat(localPaths.keyAt(3)).isEqualTo(600);
assertThat(localPaths.valueAt(3)).isEqualTo(100);
assertThat(localPaths.keyAt(4)).isEqualTo(1000);
assertThat(localPaths.valueAt(4)).isEqualTo(50);
assertThat(localPaths.keyAt(5)).isEqualTo(1001);
assertThat(localPaths.valueAt(5)).isEqualTo(-1);
}
}