diff options
| author | Frank <lifr@google.com> | 2022-01-22 22:32:23 +0800 |
|---|---|---|
| committer | Frank <lifr@google.com> | 2022-01-25 19:43:23 +0800 |
| commit | c8856596c500e12675b5e651d33b780561b36368 (patch) | |
| tree | 9dddeedac8be18d0e93d61cffcb3474db4b85518 /tests/unit/java/android/net/NetworkStatsCollectionTest.java | |
| parent | e04edee45ffb535ed886a1fd9ae0257724f1a738 (diff) | |
[DU09-1]Adding the NetworkStatsCollection Builder
The purpose is provide NetworkStatsCollection.Builder as
public API for adding the stats {@link NetworkStatsHistory}
Bug: 215862801
Test: atest NetworkStatsCollectionTest
Change-Id: Id83c6fa67880ba361b8e0e15c4d86b90e44ac879
Diffstat (limited to 'tests/unit/java/android/net/NetworkStatsCollectionTest.java')
| -rw-r--r-- | tests/unit/java/android/net/NetworkStatsCollectionTest.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/unit/java/android/net/NetworkStatsCollectionTest.java b/tests/unit/java/android/net/NetworkStatsCollectionTest.java index 2e8298603b..c27ee931eb 100644 --- a/tests/unit/java/android/net/NetworkStatsCollectionTest.java +++ b/tests/unit/java/android/net/NetworkStatsCollectionTest.java @@ -38,11 +38,13 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; import android.content.res.Resources; +import android.net.NetworkStatsCollection.Key; import android.os.Process; import android.os.UserHandle; import android.telephony.SubscriptionPlan; import android.telephony.TelephonyManager; import android.text.format.DateUtils; +import android.util.ArrayMap; import android.util.RecurrenceRule; import androidx.test.InstrumentationRegistry; @@ -73,6 +75,7 @@ import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * Tests for {@link NetworkStatsCollection}. @@ -530,6 +533,52 @@ public class NetworkStatsCollectionTest { assertThrows(ArithmeticException.class, () -> multiplySafeByRational(30, 3, 0)); } + @Test + public void testBuilder() { + final Map<Key, NetworkStatsHistory> expectedEntries = new ArrayMap<>(); + final NetworkStats.Entry entry = new NetworkStats.Entry(); + final NetworkIdentitySet ident = new NetworkIdentitySet(); + final Key key1 = new Key(ident, 0, 0, 0); + final Key key2 = new Key(ident, 1, 0, 0); + final long bucketDuration = 10; + + final NetworkStatsHistory.Entry entry1 = new NetworkStatsHistory.Entry(10, 10, 40, + 4, 50, 5, 60); + final NetworkStatsHistory.Entry entry2 = new NetworkStatsHistory.Entry(30, 10, 3, + 41, 7, 1, 0); + + NetworkStatsHistory history1 = new NetworkStatsHistory.Builder(10, 5) + .addEntry(entry1) + .addEntry(entry2) + .build(); + + NetworkStatsHistory history2 = new NetworkStatsHistory(10, 5); + + NetworkStatsCollection actualCollection = new NetworkStatsCollection.Builder(bucketDuration) + .addEntry(key1, history1) + .addEntry(key2, history2) + .build(); + + // The builder will omit any entry with empty history. Thus, history2 + // is not expected in the result collection. + expectedEntries.put(key1, history1); + + final Map<Key, NetworkStatsHistory> actualEntries = actualCollection.getEntries(); + + assertEquals(expectedEntries.size(), actualEntries.size()); + for (Key expectedKey : expectedEntries.keySet()) { + final NetworkStatsHistory expectedHistory = expectedEntries.get(expectedKey); + + final NetworkStatsHistory actualHistory = actualEntries.get(expectedKey); + assertNotNull(actualHistory); + + assertEquals(expectedHistory.getEntries(), actualHistory.getEntries()); + + actualEntries.remove(expectedKey); + } + assertEquals(0, actualEntries.size()); + } + /** * Copy a {@link Resources#openRawResource(int)} into {@link File} for * testing purposes. @@ -587,6 +636,14 @@ public class NetworkStatsCollectionTest { actual.txBytes, actual.txPackets, 0L)); } + private static void assertEntry(NetworkStatsHistory.Entry expected, + NetworkStatsHistory.Entry actual) { + assertEntry(new NetworkStats.Entry(actual.rxBytes, actual.rxPackets, + actual.txBytes, actual.txPackets, 0L), + new NetworkStats.Entry(actual.rxBytes, actual.rxPackets, + actual.txBytes, actual.txPackets, 0L)); + } + private static void assertEntry(NetworkStats.Entry expected, NetworkStats.Entry actual) { assertEquals("unexpected rxBytes", expected.rxBytes, actual.rxBytes); |
