summaryrefslogtreecommitdiff
path: root/common/testutils/devicetests/com/android/testutils/NetworkStatsUtils.kt
diff options
context:
space:
mode:
Diffstat (limited to 'common/testutils/devicetests/com/android/testutils/NetworkStatsUtils.kt')
-rw-r--r--common/testutils/devicetests/com/android/testutils/NetworkStatsUtils.kt78
1 files changed, 0 insertions, 78 deletions
diff --git a/common/testutils/devicetests/com/android/testutils/NetworkStatsUtils.kt b/common/testutils/devicetests/com/android/testutils/NetworkStatsUtils.kt
deleted file mode 100644
index 8324b25e..00000000
--- a/common/testutils/devicetests/com/android/testutils/NetworkStatsUtils.kt
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.testutils
-
-import android.net.NetworkStats
-import kotlin.test.assertTrue
-
-@JvmOverloads
-fun orderInsensitiveEquals(
- leftStats: NetworkStats,
- rightStats: NetworkStats,
- compareTime: Boolean = false
-): Boolean {
- if (leftStats == rightStats) return true
- if (compareTime && leftStats.getElapsedRealtime() != rightStats.getElapsedRealtime()) {
- return false
- }
-
- // While operations such as add/subtract will preserve empty entries. This will make
- // the result be hard to verify during test. Remove them before comparing since they
- // are not really affect correctness.
- // TODO (b/152827872): Remove empty entries after addition/subtraction.
- val leftTrimmedEmpty = leftStats.removeEmptyEntries()
- val rightTrimmedEmpty = rightStats.removeEmptyEntries()
-
- if (leftTrimmedEmpty.size() != rightTrimmedEmpty.size()) return false
- val left = NetworkStats.Entry()
- val right = NetworkStats.Entry()
- // Order insensitive compare.
- for (i in 0 until leftTrimmedEmpty.size()) {
- leftTrimmedEmpty.getValues(i, left)
- val j: Int = rightTrimmedEmpty.findIndexHinted(left.iface, left.uid, left.set, left.tag,
- left.metered, left.roaming, left.defaultNetwork, i)
- if (j == -1) return false
- rightTrimmedEmpty.getValues(j, right)
- if (left != right) return false
- }
- return true
-}
-
-/**
- * Assert that two {@link NetworkStats} are equals, assuming the order of the records are not
- * necessarily the same.
- *
- * @note {@code elapsedRealtime} is not compared by default, given that in test cases that is not
- * usually used.
- */
-@JvmOverloads
-fun assertNetworkStatsEquals(
- expected: NetworkStats,
- actual: NetworkStats,
- compareTime: Boolean = false
-) {
- assertTrue(orderInsensitiveEquals(expected, actual, compareTime),
- "expected: " + expected + " but was: " + actual)
-}
-
-/**
- * Assert that after being parceled then unparceled, {@link NetworkStats} is equal to the original
- * object.
- */
-fun assertParcelingIsLossless(stats: NetworkStats) {
- assertParcelingIsLossless(stats, { a, b -> orderInsensitiveEquals(a, b) })
-}