From f24a8be2d845baf4254bc8fcc1a6d4c8c87e5867 Mon Sep 17 00:00:00 2001 From: changbetty Date: Tue, 8 Sep 2020 16:35:42 +0800 Subject: [PATCH] [Testing] Use AndroidJUnit4 instead in NetworkDashboardFragmentTest 1. Use AndroidJunit4 instead of RobolectricTestRunner 2. Use ApplicationProvider instead of RuntimeEnvironment to get context 3. Change Copy Right 4. Run the NetworkDashboardFragment on the Main thread Bug: 168000627 Test: atest -c NetworkDashboardFragmentTest Change-Id: I6d10737b9ac8299f2d7c847a9fdb1c3bdc4e390d --- .../network/NetworkDashboardFragmentTest.java | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 tests/unit/src/com/android/settings/network/NetworkDashboardFragmentTest.java diff --git a/tests/unit/src/com/android/settings/network/NetworkDashboardFragmentTest.java b/tests/unit/src/com/android/settings/network/NetworkDashboardFragmentTest.java new file mode 100644 index 00000000000..4258b2c57e0 --- /dev/null +++ b/tests/unit/src/com/android/settings/network/NetworkDashboardFragmentTest.java @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.settings.network; + +import static com.google.common.truth.Truth.assertThat; + +import android.app.Instrumentation; +import android.content.Context; +import android.provider.SearchIndexableResource; + +import androidx.test.core.app.ApplicationProvider; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; + +import com.android.settingslib.drawer.CategoryKey; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.util.List; + +@RunWith(AndroidJUnit4.class) +public class NetworkDashboardFragmentTest { + + private Context mContext; + + private NetworkDashboardFragment mFragment; + + @Before + public void setUp() { + mContext = ApplicationProvider.getApplicationContext(); + final Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation(); + + instrumentation.runOnMainSync(() -> { + mFragment = new NetworkDashboardFragment(); + }); + } + + @Test + public void getCategoryKey_isNetwork() { + assertThat(mFragment.getCategoryKey()).isEqualTo(CategoryKey.CATEGORY_NETWORK); + } + + @Test + public void getXmlResourcesToIndex_shouldIncludeFragmentXml() { + final List indexRes = + NetworkDashboardFragment.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex( + mContext, + true /* enabled */); + + assertThat(indexRes).hasSize(1); + assertThat(indexRes.get(0).xmlResId).isEqualTo(mFragment.getPreferenceScreenResId()); + } +}