mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-28 15:56:49 +00:00
Writing some initial unit tests for Utilities.java to get others started so they can easily add to the party. Bug: 297950111 Test: Self Flag: TEST_ONLY Change-Id: I3323e6483790e2c2fbbd5c8db0281802abf0749b
98 lines
3.0 KiB
Kotlin
98 lines
3.0 KiB
Kotlin
/*
|
|
* Copyright (C) 2024 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.launcher3
|
|
|
|
import android.content.Context
|
|
import android.view.View
|
|
import android.view.ViewGroup
|
|
import androidx.test.core.app.ApplicationProvider.getApplicationContext
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
|
import com.android.launcher3.util.ActivityContextWrapper
|
|
import org.junit.Assert.*
|
|
import org.junit.Before
|
|
import org.junit.Test
|
|
import org.junit.runner.RunWith
|
|
|
|
@RunWith(AndroidJUnit4::class)
|
|
class UtilitiesTest {
|
|
|
|
private lateinit var mContext: Context
|
|
|
|
@Before
|
|
fun setUp() {
|
|
mContext = ActivityContextWrapper(getApplicationContext())
|
|
}
|
|
|
|
@Test
|
|
fun testIsPropertyEnabled() {
|
|
// This assumes the property "propertyName" is not enabled by default
|
|
assertFalse(Utilities.isPropertyEnabled("propertyName"))
|
|
}
|
|
|
|
@Test
|
|
fun testGetDescendantCoordRelativeToAncestor() {
|
|
val ancestor =
|
|
object : ViewGroup(mContext) {
|
|
override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) {}
|
|
}
|
|
val descendant = View(mContext)
|
|
|
|
descendant.x = 50f
|
|
descendant.y = 30f
|
|
descendant.scaleX = 2f
|
|
descendant.scaleY = 2f
|
|
|
|
ancestor.addView(descendant)
|
|
|
|
val coord = floatArrayOf(10f, 15f)
|
|
val scale =
|
|
Utilities.getDescendantCoordRelativeToAncestor(descendant, ancestor, coord, false)
|
|
|
|
assertEquals(2f, scale) // Expecting scale to be 2f
|
|
assertEquals(70f, coord[0])
|
|
assertEquals(60f, coord[1])
|
|
}
|
|
|
|
@Test
|
|
fun testRoundArray() {
|
|
val floatArray = floatArrayOf(1.2f, 3.7f, 5.5f)
|
|
val intArray = IntArray(3)
|
|
Utilities.roundArray(floatArray, intArray)
|
|
assertArrayEquals(intArrayOf(1, 4, 6), intArray)
|
|
}
|
|
|
|
@Test
|
|
fun testOffsetPoints() {
|
|
val points = floatArrayOf(1f, 2f, 3f, 4f)
|
|
Utilities.offsetPoints(points, 5f, 6f)
|
|
|
|
val expected = listOf(6f, 8f, 8f, 10f)
|
|
assertEquals(expected, points.toList())
|
|
}
|
|
|
|
@Test
|
|
fun testPointInView() {
|
|
val view = View(mContext)
|
|
view.layout(0, 0, 100, 100)
|
|
|
|
assertTrue(Utilities.pointInView(view, 50f, 50f, 0f)) // Inside view
|
|
assertFalse(Utilities.pointInView(view, -10f, -10f, 0f)) // Outside view
|
|
assertTrue(Utilities.pointInView(view, -5f, -5f, 10f)) // Inside slop
|
|
assertFalse(Utilities.pointInView(view, 115f, 115f, 10f)) // Outside slop
|
|
}
|
|
}
|