diff --git a/tests/unit/java/android/net/NetworkStatsTest.java b/tests/unit/java/android/net/NetworkStatsTest.java index be2857ec1a..b0cc16c2e4 100644 --- a/tests/unit/java/android/net/NetworkStatsTest.java +++ b/tests/unit/java/android/net/NetworkStatsTest.java @@ -37,6 +37,7 @@ import static android.net.NetworkStats.TAG_NONE; import static android.net.NetworkStats.UID_ALL; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import android.os.Build; @@ -53,8 +54,10 @@ import com.google.android.collect.Sets; import org.junit.Test; import org.junit.runner.RunWith; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; +import java.util.Iterator; @RunWith(DevSdkIgnoreRunner.class) @SmallTest @@ -1037,6 +1040,29 @@ public class NetworkStatsTest { assertEquals(secondEntry, stats.getValues(1, null)); } + @Test + public void testIterator() { + final NetworkStats emptyStats = new NetworkStats(0, 0); + final Iterator emptyIterator = emptyStats.iterator(); + assertFalse(emptyIterator.hasNext()); + + final int numEntries = 10; + final ArrayList entries = new ArrayList<>(); + final NetworkStats stats = new NetworkStats(TEST_START, 1); + for (int i = 0; i < numEntries; ++i) { + NetworkStats.Entry entry = new NetworkStats.Entry("test1", 10100, SET_DEFAULT, + TAG_NONE, METERED_NO, ROAMING_NO, DEFAULT_NETWORK_NO, + i * 10L /* rxBytes */, i * 3L /* rxPackets */, + i * 15L /* txBytes */, i * 2L /* txPackets */, 0L /* operations */); + stats.insertEntry(entry); + entries.add(entry); + } + + for (NetworkStats.Entry e : stats) { + assertEquals(e, entries.remove(0)); + } + } + private static void assertContains(NetworkStats stats, String iface, int uid, int set, int tag, int metered, int roaming, int defaultNetwork, long rxBytes, long rxPackets, long txBytes, long txPackets, long operations) {