diff options
Diffstat (limited to 'tests/unit/src/com/android/tv/util/TvInputManagerHelperTest.java')
-rw-r--r-- | tests/unit/src/com/android/tv/util/TvInputManagerHelperTest.java | 258 |
1 files changed, 187 insertions, 71 deletions
diff --git a/tests/unit/src/com/android/tv/util/TvInputManagerHelperTest.java b/tests/unit/src/com/android/tv/util/TvInputManagerHelperTest.java index 404ee5d3..6dfed64a 100644 --- a/tests/unit/src/com/android/tv/util/TvInputManagerHelperTest.java +++ b/tests/unit/src/com/android/tv/util/TvInputManagerHelperTest.java @@ -21,22 +21,21 @@ import static android.support.test.InstrumentationRegistry.getContext; import android.content.pm.ResolveInfo; import android.media.tv.TvInputInfo; import android.support.test.filters.SmallTest; - +import android.support.test.runner.AndroidJUnit4; import com.android.tv.testing.ComparatorTester; - +import com.android.tv.testing.utils.TestUtils; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -/** - * Test for {@link TvInputManagerHelper} - */ +/** Test for {@link TvInputManagerHelper} */ @SmallTest +@RunWith(AndroidJUnit4.class) public class TvInputManagerHelperTest { final HashMap<String, TvInputInfoWrapper> TEST_INPUT_MAP = new HashMap<>(); @@ -45,18 +44,51 @@ public class TvInputManagerHelperTest { ResolveInfo resolveInfo = TestUtils.createResolveInfo("test", "test"); List<TvInputInfo> inputs = new ArrayList<>(); - inputs.add(createTvInputInfo(resolveInfo, "2_partner_input", null, 0, false, - "2_partner_input", null, true)); - inputs.add(createTvInputInfo(resolveInfo, "3_partner_input", null, 0, false, - "3_partner_input", null, true)); - inputs.add(createTvInputInfo(resolveInfo, "1_3rd_party_input", null, 0, false, - "1_3rd_party_input", null, false)); - inputs.add(createTvInputInfo(resolveInfo, "4_3rd_party_input", null, 0, false, - "4_3rd_party_input", null, false)); + inputs.add( + createTvInputInfo( + resolveInfo, + "2_partner_input", + null, + 0, + false, + "2_partner_input", + null, + true)); + inputs.add( + createTvInputInfo( + resolveInfo, + "3_partner_input", + null, + 0, + false, + "3_partner_input", + null, + true)); + inputs.add( + createTvInputInfo( + resolveInfo, + "1_3rd_party_input", + null, + 0, + false, + "1_3rd_party_input", + null, + false)); + inputs.add( + createTvInputInfo( + resolveInfo, + "4_3rd_party_input", + null, + 0, + false, + "4_3rd_party_input", + null, + false)); TvInputManagerHelper manager = createMockTvInputManager(); - ComparatorTester<TvInputInfo> comparatorTester = ComparatorTester.withoutEqualsTest( + ComparatorTester<TvInputInfo> comparatorTester = + ComparatorTester.withoutEqualsTest( new TvInputManagerHelper.InputComparatorInternal(manager)); for (TvInputInfo input : inputs) { comparatorTester.addComparableGroup(input); @@ -68,20 +100,54 @@ public class TvInputManagerHelperTest { public void testHardwareInputComparatorHdmi() { ResolveInfo resolveInfo = TestUtils.createResolveInfo("test", "test"); - TvInputInfo hdmi1 = createTvInputInfo(resolveInfo, "HDMI1", null, TvInputInfo.TYPE_HDMI, - true, "HDMI1", null, false); - TvInputInfo hdmi2 = createTvInputInfo(resolveInfo, "HDMI2", null, TvInputInfo.TYPE_HDMI, - true, "HDMI2", "DVD", false); - TvInputInfo hdmi3 = createTvInputInfo(resolveInfo, "HDMI3", null, TvInputInfo.TYPE_HDMI, - true, "HDMI3", "Cable", false); - TvInputInfo hdmi4 = createTvInputInfo(resolveInfo, "HDMI4", null, TvInputInfo.TYPE_HDMI, - true, "HDMI4", null, false); + TvInputInfo hdmi1 = + createTvInputInfo( + resolveInfo, + "HDMI1", + null, + TvInputInfo.TYPE_HDMI, + true, + "HDMI1", + null, + false); + TvInputInfo hdmi2 = + createTvInputInfo( + resolveInfo, + "HDMI2", + null, + TvInputInfo.TYPE_HDMI, + true, + "HDMI2", + "DVD", + false); + TvInputInfo hdmi3 = + createTvInputInfo( + resolveInfo, + "HDMI3", + null, + TvInputInfo.TYPE_HDMI, + true, + "HDMI3", + "Cable", + false); + TvInputInfo hdmi4 = + createTvInputInfo( + resolveInfo, + "HDMI4", + null, + TvInputInfo.TYPE_HDMI, + true, + "HDMI4", + null, + false); TvInputManagerHelper manager = createMockTvInputManager(); - ComparatorTester<TvInputInfo> comparatorTester = ComparatorTester.withoutEqualsTest( + ComparatorTester<TvInputInfo> comparatorTester = + ComparatorTester.withoutEqualsTest( new TvInputManagerHelper.HardwareInputComparator(getContext(), manager)); - comparatorTester.addComparableGroup(hdmi3) + comparatorTester + .addComparableGroup(hdmi3) .addComparableGroup(hdmi2) .addComparableGroup(hdmi1) .addComparableGroup(hdmi4) @@ -92,61 +158,111 @@ public class TvInputManagerHelperTest { public void testHardwareInputComparatorCec() { ResolveInfo resolveInfo = TestUtils.createResolveInfo("test", "test"); - TvInputInfo hdmi1 = createTvInputInfo(resolveInfo, "HDMI1", null, TvInputInfo.TYPE_HDMI, - true, "HDMI1", null, false); - TvInputInfo hdmi2 = createTvInputInfo(resolveInfo, "HDMI2", null, TvInputInfo.TYPE_HDMI, - true, "HDMI2", null, false); + TvInputInfo hdmi1 = + createTvInputInfo( + resolveInfo, + "HDMI1", + null, + TvInputInfo.TYPE_HDMI, + true, + "HDMI1", + null, + false); + TvInputInfo hdmi2 = + createTvInputInfo( + resolveInfo, + "HDMI2", + null, + TvInputInfo.TYPE_HDMI, + true, + "HDMI2", + null, + false); - TvInputInfo cec1 = createTvInputInfo(resolveInfo, "2_cec", "HDMI1", TvInputInfo.TYPE_HDMI, - true, "2_cec", null, false); - TvInputInfo cec2 = createTvInputInfo(resolveInfo, "1_cec", "HDMI2", TvInputInfo.TYPE_HDMI, - true, "1_cec", null, false); + TvInputInfo cec1 = + createTvInputInfo( + resolveInfo, + "2_cec", + "HDMI1", + TvInputInfo.TYPE_HDMI, + true, + "2_cec", + null, + false); + TvInputInfo cec2 = + createTvInputInfo( + resolveInfo, + "1_cec", + "HDMI2", + TvInputInfo.TYPE_HDMI, + true, + "1_cec", + null, + false); TvInputManagerHelper manager = createMockTvInputManager(); - ComparatorTester<TvInputInfo> comparatorTester = ComparatorTester.withoutEqualsTest( + ComparatorTester<TvInputInfo> comparatorTester = + ComparatorTester.withoutEqualsTest( new TvInputManagerHelper.HardwareInputComparator(getContext(), manager)); - comparatorTester.addComparableGroup(cec1) - .addComparableGroup(cec2) - .test(); + comparatorTester.addComparableGroup(cec1).addComparableGroup(cec2).test(); } private TvInputManagerHelper createMockTvInputManager() { TvInputManagerHelper manager = Mockito.mock(TvInputManagerHelper.class); - Mockito.doAnswer(new Answer<Boolean>() { - @Override - public Boolean answer(InvocationOnMock invocation) throws Throwable { - TvInputInfo info = (TvInputInfo) invocation.getArguments()[0]; - return TEST_INPUT_MAP.get(info.getId()).mIsPartnerInput; - } - }).when(manager).isPartnerInput(Mockito.<TvInputInfo>any()); - Mockito.doAnswer(new Answer<String>() { - @Override - public String answer(InvocationOnMock invocation) throws Throwable { - TvInputInfo info = (TvInputInfo) invocation.getArguments()[0]; - return TEST_INPUT_MAP.get(info.getId()).mLabel; - } - }).when(manager).loadLabel(Mockito.<TvInputInfo>any()); - Mockito.doAnswer(new Answer<String>() { - @Override - public String answer(InvocationOnMock invocation) throws Throwable { - TvInputInfo info = (TvInputInfo) invocation.getArguments()[0]; - return TEST_INPUT_MAP.get(info.getId()).mCustomLabel; - } - }).when(manager).loadCustomLabel(Mockito.<TvInputInfo>any()); - Mockito.doAnswer(new Answer<TvInputInfo>() { - @Override - public TvInputInfo answer(InvocationOnMock invocation) throws Throwable { - String inputId = (String) invocation.getArguments()[0]; - TvInputInfoWrapper inputWrapper = TEST_INPUT_MAP.get(inputId); - return inputWrapper == null ? null : inputWrapper.mInput; - } - }).when(manager).getTvInputInfo(Mockito.<String>any()); + Mockito.doAnswer( + new Answer<Boolean>() { + @Override + public Boolean answer(InvocationOnMock invocation) throws Throwable { + TvInputInfo info = (TvInputInfo) invocation.getArguments()[0]; + return TEST_INPUT_MAP.get(info.getId()).mIsPartnerInput; + } + }) + .when(manager) + .isPartnerInput(Mockito.<TvInputInfo>any()); + Mockito.doAnswer( + new Answer<String>() { + @Override + public String answer(InvocationOnMock invocation) throws Throwable { + TvInputInfo info = (TvInputInfo) invocation.getArguments()[0]; + return TEST_INPUT_MAP.get(info.getId()).mLabel; + } + }) + .when(manager) + .loadLabel(Mockito.<TvInputInfo>any()); + Mockito.doAnswer( + new Answer<String>() { + @Override + public String answer(InvocationOnMock invocation) throws Throwable { + TvInputInfo info = (TvInputInfo) invocation.getArguments()[0]; + return TEST_INPUT_MAP.get(info.getId()).mCustomLabel; + } + }) + .when(manager) + .loadCustomLabel(Mockito.<TvInputInfo>any()); + Mockito.doAnswer( + new Answer<TvInputInfo>() { + @Override + public TvInputInfo answer(InvocationOnMock invocation) + throws Throwable { + String inputId = (String) invocation.getArguments()[0]; + TvInputInfoWrapper inputWrapper = TEST_INPUT_MAP.get(inputId); + return inputWrapper == null ? null : inputWrapper.mInput; + } + }) + .when(manager) + .getTvInputInfo(Mockito.<String>any()); return manager; } - private TvInputInfo createTvInputInfo(ResolveInfo service, String id, - String parentId, int type, boolean isHardwareInput, String label, String customLabel, + private TvInputInfo createTvInputInfo( + ResolveInfo service, + String id, + String parentId, + int type, + boolean isHardwareInput, + String label, + String customLabel, boolean isPartnerInput) { TvInputInfoWrapper inputWrapper = new TvInputInfoWrapper(); try { |