diff options
Diffstat (limited to 'common/testutils/devicetests/com/android/testutils/NetworkStatsUtils.kt')
-rw-r--r-- | common/testutils/devicetests/com/android/testutils/NetworkStatsUtils.kt | 78 |
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) }) -} |