[FUI22.1] Add assert utilities for list
Test: atest NetworkStaticLibTests
Bug: 174123988
Change-Id: Id918227716367264042e6b674ce29c18e2d901e4
diff --git a/staticlibs/hostdevice/com/android/testutils/MiscAsserts.kt b/staticlibs/hostdevice/com/android/testutils/MiscAsserts.kt
index 09126d7..91fb1cd 100644
--- a/staticlibs/hostdevice/com/android/testutils/MiscAsserts.kt
+++ b/staticlibs/hostdevice/com/android/testutils/MiscAsserts.kt
@@ -32,10 +32,18 @@
assertEquals(0, len, "Expected empty array, but length was $len")
}
+fun <T> assertEmpty(ts: List<T>) = ts.size.let { len ->
+ assertEquals(0, len, "Expected empty list, but length was $len")
+}
+
fun <T> assertLength(expected: Int, got: Array<T>) = got.size.let { len ->
assertEquals(expected, len, "Expected array of length $expected, but was $len for $got")
}
+fun <T> assertLength(expected: Int, got: List<T>) = got.size.let { len ->
+ assertEquals(expected, len, "Expected list of length $expected, but was $len for $got")
+}
+
// Bridge method to help write this in Java. If you're writing Kotlin, consider using
// kotlin.test.assertFailsWith instead, as that method is reified and inlined.
fun <T : Exception> assertThrows(expected: Class<T>, block: ThrowingRunnable): T {
@@ -103,3 +111,12 @@
!Modifier.isStatic(it.modifiers) && !Modifier.isTransient(it.modifiers)
}.size)
}
+
+fun assertSameElements(expected: List<String?>, actual: List<String?>) {
+ val expectedSet: HashSet<String?> = HashSet<String?>(expected)
+ assertEquals(expectedSet.size.toLong(), expected.size.toLong(),
+ "expected list contains duplicates")
+ val actualSet: HashSet<String?> = HashSet<String?>(actual)
+ assertEquals(actualSet.size.toLong(), actual.size.toLong(), "actual list contains duplicates")
+ assertEquals(expectedSet, actualSet)
+}
diff --git a/staticlibs/tests/unit/src/android/net/util/LinkPropertiesUtilsTest.java b/staticlibs/tests/unit/src/android/net/util/LinkPropertiesUtilsTest.java
index e47c864..45493bd 100644
--- a/staticlibs/tests/unit/src/android/net/util/LinkPropertiesUtilsTest.java
+++ b/staticlibs/tests/unit/src/android/net/util/LinkPropertiesUtilsTest.java
@@ -16,6 +16,8 @@
package android.net.util;
+import static com.android.testutils.MiscAsserts.assertSameElements;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -40,7 +42,6 @@
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.HashSet;
import java.util.List;
import java.util.function.Function;
@@ -247,14 +248,6 @@
assertEquals(linkAddr2, results.added.get(0));
}
- private void assertSameElements(List<String> expected, List<String> actual) {
- HashSet<String> expectedSet = new HashSet(expected);
- assertEquals("expected list contains duplicates", expectedSet.size(), expected.size());
- HashSet<String> actualSet = new HashSet(actual);
- assertEquals("actual list contains duplicates", actualSet.size(), actual.size());
- assertEquals(expectedSet, actualSet);
- }
-
private void assertCompareOrUpdateResult(CompareOrUpdateResult result,
List<String> expectedAdded, List<String> expectedRemoved,
List<String> expectedUpdated) {