1 package com.android.systemui.unfold
2 
3 import android.testing.AndroidTestingRunner
4 import androidx.test.filters.SmallTest
5 import com.android.systemui.SysuiTestCase
6 import com.android.systemui.util.WallpaperController
7 import org.junit.Before
8 import org.junit.Rule
9 import org.junit.Test
10 import org.junit.runner.RunWith
11 import org.mockito.AdditionalMatchers.eq
12 import org.mockito.Mock
13 import org.mockito.Mockito.verify
14 import org.mockito.junit.MockitoJUnit
15 
16 @RunWith(AndroidTestingRunner::class)
17 @SmallTest
18 class UnfoldTransitionWallpaperControllerTest : SysuiTestCase() {
19 
20     @Mock
21     private lateinit var wallpaperController: WallpaperController
22 
23     private val progressProvider = TestUnfoldTransitionProvider()
24 
25     @JvmField
26     @Rule
27     val mockitoRule = MockitoJUnit.rule()
28 
29     private lateinit var unfoldWallpaperController: UnfoldTransitionWallpaperController
30 
31     @Before
32     fun setup() {
33         unfoldWallpaperController = UnfoldTransitionWallpaperController(progressProvider,
34             wallpaperController)
35         unfoldWallpaperController.init()
36     }
37 
38     @Test
39     fun onTransitionProgress_zoomsIn() {
40         progressProvider.onTransitionProgress(0.8f)
41 
42         verify(wallpaperController).setUnfoldTransitionZoom(eq(0.2f, 0.001f))
43     }
44 
45     @Test
46     fun onTransitionFinished_resetsZoom() {
47         progressProvider.onTransitionFinished()
48 
49         verify(wallpaperController).setUnfoldTransitionZoom(eq(0f, 0.001f))
50     }
51 }
52