1 package com.android.systemui.fragments 2 3 import android.app.Fragment 4 import android.os.Looper 5 import androidx.test.ext.junit.runners.AndroidJUnit4 6 import androidx.test.filters.SmallTest 7 import com.android.systemui.SysuiTestCase 8 import com.android.systemui.dump.DumpManager 9 import com.android.systemui.util.mockito.mock 10 import com.google.common.truth.Truth.assertThat 11 import org.junit.Before 12 import org.junit.Test 13 import org.junit.runner.RunWith 14 15 @SmallTest 16 @RunWith(AndroidJUnit4::class) 17 class FragmentServiceTest : SysuiTestCase() { 18 private val fragmentHostManagerFactory: FragmentHostManager.Factory = mock() 19 20 private lateinit var fragmentService: FragmentService 21 22 @Before setUpnull23 fun setUp() { 24 if (Looper.myLooper() == null) { 25 Looper.prepare() 26 } 27 28 fragmentService = FragmentService(fragmentHostManagerFactory, mock(), DumpManager()) 29 } 30 31 @Test addFragmentInstantiationProvider_objectHasNoFragmentMethods_nothingAddednull32 fun addFragmentInstantiationProvider_objectHasNoFragmentMethods_nothingAdded() { 33 fragmentService.addFragmentInstantiationProvider(TestFragment::class.java) { 34 TestFragment() 35 } 36 37 assertThat(fragmentService.injectionMap).hasSize(1) 38 } 39 40 @Test addFragmentInstantiationProvider_objectFragmentMethodsAlreadyProvided_nothingAddednull41 fun addFragmentInstantiationProvider_objectFragmentMethodsAlreadyProvided_nothingAdded() { 42 fragmentService.addFragmentInstantiationProvider(TestFragment::class.java) { 43 TestFragment() 44 } 45 fragmentService.addFragmentInstantiationProvider(TestFragment::class.java) { 46 TestFragment() 47 } 48 49 assertThat(fragmentService.injectionMap).hasSize(1) 50 } 51 52 class TestFragment : Fragment() 53 } 54