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