Merge "Replace battery usage breakdown list from tabs to dropdown list."

This commit is contained in:
TreeHugger Robot
2023-01-04 12:17:41 +00:00
committed by Android (Google) Code Review
7 changed files with 186 additions and 227 deletions

View File

@@ -22,14 +22,12 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import android.content.Context;
import android.widget.Spinner;
import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
import com.android.settings.R;
import com.google.android.material.tabs.TabLayout;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -39,50 +37,47 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
@RunWith(RobolectricTestRunner.class)
public final class TabPreferenceTest {
public final class SpinnerPreferenceTest {
private Context mContext;
private TabPreference mTabPreference;
private SpinnerPreference mSpinnerPreference;
@Mock
private Fragment mMockFragment;
@Mock
private TabLayout mMockTabLayout;
private final String[] mTabTitles = new String[]{"tab1", "tab2"};
private Spinner mMockSpinner;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
mTabPreference = new TabPreference(mContext, /*attrs=*/ null);
mSpinnerPreference = new SpinnerPreference(mContext, /*attrs=*/ null);
}
@Test
public void constructor_returnExpectedResult() {
assertThat(mTabPreference.getLayoutResource()).isEqualTo(R.layout.preference_tab);
assertThat(mSpinnerPreference.getLayoutResource()).isEqualTo(R.layout.preference_spinner);
}
@Test
public void initializeTabs_returnExpectedResult() {
mTabPreference.initializeTabs(mMockFragment, mTabTitles);
assertThat(mTabPreference.mTabTitles).isEqualTo(mTabTitles);
public void initializeSpinner_returnExpectedResult() {
final String[] items = new String[]{"item1", "item2"};
mSpinnerPreference.initializeSpinner(items, null);
assertThat(mSpinnerPreference.mItems).isEqualTo(items);
}
@Test
public void onSaveInstanceState_returnExpectedResult() {
doReturn(1).when(mMockTabLayout).getSelectedTabPosition();
mTabPreference.mTabLayout = mMockTabLayout;
TabPreference.SavedState savedState =
(TabPreference.SavedState) mTabPreference.onSaveInstanceState();
assertThat(savedState.getTabPosition()).isEqualTo(1);
doReturn(1).when(mMockSpinner).getSelectedItemPosition();
mSpinnerPreference.mSpinner = mMockSpinner;
SpinnerPreference.SavedState savedState =
(SpinnerPreference.SavedState) mSpinnerPreference.onSaveInstanceState();
assertThat(savedState.getSpinnerPosition()).isEqualTo(1);
}
@Test
public void onRestoreInstanceState_returnExpectedResult() {
TabPreference.SavedState savedState =
new TabPreference.SavedState(Preference.BaseSavedState.EMPTY_STATE, 2);
mTabPreference.onRestoreInstanceState(savedState);
assertThat(mTabPreference.mSavedTabPosition).isEqualTo(2);
SpinnerPreference.SavedState savedState =
new SpinnerPreference.SavedState(Preference.BaseSavedState.EMPTY_STATE, 2);
mSpinnerPreference.onRestoreInstanceState(savedState);
assertThat(mSpinnerPreference.mSavedSpinnerPosition).isEqualTo(2);
}
}