1 package com.android.systemui.qs 2 3 import android.testing.AndroidTestingRunner 4 import androidx.test.filters.SmallTest 5 import com.android.systemui.SysuiTestCase 6 import org.junit.Before 7 import org.junit.Rule 8 import org.junit.Test 9 import org.junit.runner.RunWith 10 import org.mockito.Mock 11 import org.mockito.Mockito.never 12 import org.mockito.Mockito.verify 13 import org.mockito.junit.MockitoJUnit 14 15 @RunWith(AndroidTestingRunner::class) 16 @SmallTest 17 class QSSquishinessControllerTest : SysuiTestCase() { 18 19 @Mock private lateinit var qsAnimator: QSAnimator 20 @Mock private lateinit var qsPanelController: QSPanelController 21 @Mock private lateinit var quickQsPanelController: QuickQSPanelController 22 23 @JvmField @Rule val mockitoRule = MockitoJUnit.rule() 24 25 private lateinit var qsSquishinessController: QSSquishinessController 26 27 @Before 28 fun setup() { 29 qsSquishinessController = QSSquishinessController(qsAnimator, 30 qsPanelController, quickQsPanelController) 31 } 32 33 @Test 34 fun setSquishiness_requestsAnimatorUpdate() { 35 qsSquishinessController.squishiness = 0.5f 36 verify(qsAnimator, never()).requestAnimatorUpdate() 37 38 qsSquishinessController.squishiness = 0f 39 verify(qsAnimator).requestAnimatorUpdate() 40 } 41 42 @Test 43 fun setSquishiness_updatesTiles() { 44 qsSquishinessController.squishiness = 0.5f 45 verify(qsPanelController).setSquishinessFraction(0.5f) 46 verify(quickQsPanelController).setSquishinessFraction(0.5f) 47 } 48 }