Merge "Test case clean up." into qt-dev

This commit is contained in:
Fan Zhang
2019-04-23 22:34:46 +00:00
committed by Android (Google) Code Review
2 changed files with 54 additions and 69 deletions

View File

@@ -16,8 +16,6 @@
package com.android.settings.homepage.contextualcards; package com.android.settings.homepage.contextualcards;
import static android.app.slice.Slice.HINT_ERROR;
import static com.android.settings.homepage.contextualcards.ContextualCardLoader.DEFAULT_CARD_COUNT; import static com.android.settings.homepage.contextualcards.ContextualCardLoader.DEFAULT_CARD_COUNT;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
@@ -34,8 +32,6 @@ import android.app.settings.SettingsEnums;
import android.content.Context; import android.content.Context;
import android.net.Uri; import android.net.Uri;
import androidx.slice.Slice;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.CustomSliceRegistry;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
@@ -53,73 +49,17 @@ import java.util.stream.Collectors;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
public class ContextualCardLoaderTest { public class ContextualCardLoaderTest {
private static final String TEST_SLICE_URI = "content://test/test";
private Context mContext; private Context mContext;
private ContextualCardLoader mContextualCardLoader; private ContextualCardLoader mContextualCardLoader;
private EligibleCardChecker mEligibleCardChecker;
private FakeFeatureFactory mFakeFeatureFactory; private FakeFeatureFactory mFakeFeatureFactory;
@Before @Before
public void setUp() { public void setUp() {
mContext = RuntimeEnvironment.application; mContext = RuntimeEnvironment.application;
mContextualCardLoader = spy(new ContextualCardLoader(mContext)); mContextualCardLoader = spy(new ContextualCardLoader(mContext));
mEligibleCardChecker =
spy(new EligibleCardChecker(mContext, getContextualCard(TEST_SLICE_URI)));
mFakeFeatureFactory = FakeFeatureFactory.setupForTest(); mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
} }
@Test
public void isCardEligibleToDisplay_customCard_returnTrue() {
final ContextualCard customCard = new ContextualCard.Builder()
.setName("custom_card")
.setCardType(ContextualCard.CardType.DEFAULT)
.setTitleText("custom_title")
.setSummaryText("custom_summary")
.build();
assertThat(mEligibleCardChecker.isCardEligibleToDisplay(customCard)).isTrue();
}
@Test
public void isCardEligibleToDisplay_invalidScheme_returnFalse() {
final String sliceUri = "contet://com.android.settings.slices/action/flashlight";
assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(sliceUri)))
.isFalse();
}
@Test
public void isCardEligibleToDisplay_invalidRankingScore_returnFalse() {
final ContextualCard card = new ContextualCard.Builder()
.setName("test_card")
.setCardType(ContextualCard.CardType.SLICE)
.setSliceUri(CustomSliceRegistry.FLASHLIGHT_SLICE_URI)
.setRankingScore(-1)
.build();
assertThat(mEligibleCardChecker.isCardEligibleToDisplay(card))
.isFalse();
}
@Test
public void isCardEligibleToDisplay_nullSlice_returnFalse() {
doReturn(null).when(mEligibleCardChecker).bindSlice(Uri.parse(TEST_SLICE_URI));
assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI)))
.isFalse();
}
@Test
public void isCardEligibleToDisplay_errorSlice_returnFalse() {
final Slice slice = new Slice.Builder(Uri.parse(TEST_SLICE_URI))
.addHints(HINT_ERROR).build();
doReturn(slice).when(mEligibleCardChecker).bindSlice(Uri.parse(TEST_SLICE_URI));
assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI)))
.isFalse();
}
@Test @Test
public void getDisplayableCards_twoEligibleCards_shouldShowAll() { public void getDisplayableCards_twoEligibleCards_shouldShowAll() {
final List<ContextualCard> cards = getContextualCardList().stream().limit(2) final List<ContextualCard> cards = getContextualCardList().stream().limit(2)
@@ -201,15 +141,6 @@ public class ContextualCardLoaderTest {
eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_SHOW), any(String.class)); eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_SHOW), any(String.class));
} }
private ContextualCard getContextualCard(String sliceUri) {
return new ContextualCard.Builder()
.setName("test_card")
.setRankingScore(0.5)
.setCardType(ContextualCard.CardType.SLICE)
.setSliceUri(Uri.parse(sliceUri))
.build();
}
private List<ContextualCard> getContextualCardList() { private List<ContextualCard> getContextualCardList() {
final List<ContextualCard> cards = new ArrayList<>(); final List<ContextualCard> cards = new ArrayList<>();
cards.add(new ContextualCard.Builder() cards.add(new ContextualCard.Builder()

View File

@@ -16,6 +16,8 @@
package com.android.settings.homepage.contextualcards; package com.android.settings.homepage.contextualcards;
import static android.app.slice.Slice.HINT_ERROR;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
@@ -30,6 +32,7 @@ import androidx.slice.SliceProvider;
import androidx.slice.widget.SliceLiveData; import androidx.slice.widget.SliceLiveData;
import com.android.settings.homepage.contextualcards.deviceinfo.EmergencyInfoSlice; import com.android.settings.homepage.contextualcards.deviceinfo.EmergencyInfoSlice;
import com.android.settings.slices.CustomSliceRegistry;
import com.android.settings.wifi.slice.ContextualWifiSlice; import com.android.settings.wifi.slice.ContextualWifiSlice;
import org.junit.Before; import org.junit.Before;
@@ -92,6 +95,57 @@ public class EligibleCardCheckerTest {
assertThat(mEligibleCardChecker.mCard.hasInlineAction()).isFalse(); assertThat(mEligibleCardChecker.mCard.hasInlineAction()).isFalse();
} }
@Test
public void isCardEligibleToDisplay_customCard_returnTrue() {
final ContextualCard customCard = new ContextualCard.Builder()
.setName("custom_card")
.setCardType(ContextualCard.CardType.DEFAULT)
.setTitleText("custom_title")
.setSummaryText("custom_summary")
.build();
assertThat(mEligibleCardChecker.isCardEligibleToDisplay(customCard)).isTrue();
}
@Test
public void isCardEligibleToDisplay_invalidScheme_returnFalse() {
final Uri sliceUri = Uri.parse("contet://com.android.settings.slices/action/flashlight");
assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(sliceUri)))
.isFalse();
}
@Test
public void isCardEligibleToDisplay_invalidRankingScore_returnFalse() {
final ContextualCard card = new ContextualCard.Builder()
.setName("test_card")
.setCardType(ContextualCard.CardType.SLICE)
.setSliceUri(CustomSliceRegistry.FLASHLIGHT_SLICE_URI)
.setRankingScore(-1)
.build();
assertThat(mEligibleCardChecker.isCardEligibleToDisplay(card))
.isFalse();
}
@Test
public void isCardEligibleToDisplay_nullSlice_returnFalse() {
doReturn(null).when(mEligibleCardChecker).bindSlice(any(Uri.class));
assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI)))
.isFalse();
}
@Test
public void isCardEligibleToDisplay_errorSlice_returnFalse() {
final Slice slice = new Slice.Builder(TEST_SLICE_URI)
.addHints(HINT_ERROR).build();
doReturn(slice).when(mEligibleCardChecker).bindSlice(any(Uri.class));
assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI)))
.isFalse();
}
private ContextualCard getContextualCard(Uri sliceUri) { private ContextualCard getContextualCard(Uri sliceUri) {
return new ContextualCard.Builder() return new ContextualCard.Builder()
.setName("test_card") .setName("test_card")