Merge "Add unit test for NetworkStats iterator"

This commit is contained in:
Aaron Huang
2022-01-20 04:09:00 +00:00
committed by Gerrit Code Review

View File

@@ -37,6 +37,7 @@ import static android.net.NetworkStats.TAG_NONE;
import static android.net.NetworkStats.UID_ALL; import static android.net.NetworkStats.UID_ALL;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import android.os.Build; import android.os.Build;
@@ -53,8 +54,10 @@ import com.google.android.collect.Sets;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
@RunWith(DevSdkIgnoreRunner.class) @RunWith(DevSdkIgnoreRunner.class)
@SmallTest @SmallTest
@@ -1037,6 +1040,29 @@ public class NetworkStatsTest {
assertEquals(secondEntry, stats.getValues(1, null)); 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<NetworkStats.Entry> 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, private static void assertContains(NetworkStats stats, String iface, int uid, int set,
int tag, int metered, int roaming, int defaultNetwork, long rxBytes, long rxPackets, int tag, int metered, int roaming, int defaultNetwork, long rxBytes, long rxPackets,
long txBytes, long txPackets, long operations) { long txBytes, long txPackets, long operations) {