diff options
author | Chris Poultney <poultney@google.com> | 2022-12-09 19:14:53 +0000 |
---|---|---|
committer | Chris Poultney <poultney@google.com> | 2022-12-12 18:45:02 +0000 |
commit | 087d595acf5bcfc36f0103d2b5a4d5a505468e03 (patch) | |
tree | eaf5a8c9eb8d251430e0ddd11254e4bd08efdd31 /tests/robotests | |
parent | f3bfb5f268f1570aa94e9f023b5e18432e218b58 (diff) | |
download | ThemePicker-087d595acf5bcfc36f0103d2b5a4d5a505468e03.tar.gz |
Finish moving Robolectric tests to tests/robotests
Bug: 260777356
Test: this is the test
Change-Id: Ia624838a645d8e3b9697a7017739e8952b929bce
Diffstat (limited to 'tests/robotests')
-rw-r--r-- | tests/robotests/src/com/android/customization/picker/clock/ClockCustomDemoFragmentTest.kt | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/tests/robotests/src/com/android/customization/picker/clock/ClockCustomDemoFragmentTest.kt b/tests/robotests/src/com/android/customization/picker/clock/ClockCustomDemoFragmentTest.kt new file mode 100644 index 00000000..ad3dd1ce --- /dev/null +++ b/tests/robotests/src/com/android/customization/picker/clock/ClockCustomDemoFragmentTest.kt @@ -0,0 +1,99 @@ +package com.android.customization.picker.clock + +import android.os.Handler +import android.os.UserHandle +import android.view.View +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.android.systemui.plugins.ClockId +import com.android.systemui.plugins.ClockMetadata +import com.android.systemui.plugins.ClockProvider +import com.android.systemui.plugins.ClockProviderPlugin +import com.android.systemui.plugins.PluginManager +import com.android.systemui.shared.clocks.ClockRegistry +import org.junit.Assert +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.Mock +import org.mockito.Mockito +import org.mockito.MockitoAnnotations +import org.robolectric.Robolectric +import org.robolectric.RobolectricTestRunner +import org.robolectric.annotation.Config + +/** Tests of [ClockCustomDemoFragment]. */ +@RunWith(RobolectricTestRunner::class) +@Config(manifest = Config.NONE) +class ClockCustomDemoFragmentTest { + private lateinit var mActivity: AppCompatActivity + private var mClockCustomDemoFragment: ClockCustomDemoFragment? = null + private lateinit var registry: ClockRegistry + @Mock private lateinit var mockPluginManager: PluginManager + @Mock private lateinit var mockHandler: Handler + @Mock private lateinit var fakePlugin: ClockProviderPlugin + @Mock private lateinit var defaultClockProvider: ClockProvider + + private var settingValue: String = "" + + @Before + fun setUp() { + MockitoAnnotations.initMocks(this) + mActivity = Robolectric.buildActivity(AppCompatActivity::class.java).get() + mClockCustomDemoFragment = ClockCustomDemoFragment() + Mockito.`when`(defaultClockProvider.getClocks()) + .thenReturn(listOf(ClockMetadata("DEFAULT", "Default Clock"))) + registry = + object : + ClockRegistry( + mActivity, + mockPluginManager, + mockHandler, + isEnabled = true, + userHandle = UserHandle.USER_ALL, + defaultClockProvider = defaultClockProvider + ) { + override var currentClockId: ClockId + get() = settingValue + set(value) { + settingValue = value + } + + override fun getClocks(): List<ClockMetadata> { + return defaultClockProvider.getClocks() + + listOf( + ClockMetadata("CLOCK_1", "Clock 1"), + ClockMetadata("CLOCK_2", "Clock 2"), + ClockMetadata("CLOCK_NOT_IN_USE", "Clock not in use") + ) + } + } + + mClockCustomDemoFragment!!.clockRegistry = registry + mClockCustomDemoFragment!!.recyclerView = RecyclerView(mActivity) + mClockCustomDemoFragment!!.recyclerView.layoutManager = + LinearLayoutManager(mActivity, RecyclerView.VERTICAL, false) + mClockCustomDemoFragment!!.pluginListener.onPluginConnected(fakePlugin, mActivity) + } + + @Test + fun testItemCount_getCorrectClockCount() { + Assert.assertEquals(3, mClockCustomDemoFragment!!.recyclerView.adapter!!.itemCount) + } + + @Test + fun testClick_setCorrectClockId() { + mClockCustomDemoFragment!! + .recyclerView + .measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED) + mClockCustomDemoFragment!!.recyclerView.layout(0, 0, 100, 10000) + val testPosition = 1 + mClockCustomDemoFragment!! + .recyclerView + .findViewHolderForAdapterPosition(testPosition) + ?.itemView + ?.performClick() + Assert.assertEquals("CLOCK_1", settingValue) + } +} |