diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-04-28 20:27:19 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-04-28 20:27:19 +0000 |
commit | e8a0f1ba285fd06676de2bdb08456d588e8341e2 (patch) | |
tree | f4ba89447e2d7ac3355508e583a5cf0574c29af5 /tests/unit | |
parent | f61bdda7ea9f0ecaf4158715411dc025ed9a3061 (diff) | |
parent | d12bfa398c56027290a9e6e4fd14f635458ec581 (diff) | |
download | TV-e8a0f1ba285fd06676de2bdb08456d588e8341e2.tar.gz |
Snap for 6439596 from d12bfa398c56027290a9e6e4fd14f635458ec581 to qt-aml-tzdata-releaseq_tzdata_aml_297100400q_tzdata_aml_297100300q_tzdata_aml_297100000q_tzdata_aml_296200000q_tzdata_aml_295600118q_tzdata_aml_295600110q_tzdata_aml_295500002q_tzdata_aml_295500001q_tzdata_aml_294400310android-mainline-12.0.0_r54android-mainline-12.0.0_r111android-mainline-10.0.0_r13android-mainline-10.0.0_r12android-mainline-10.0.0_r11q_tzdata_aml_297100000android12-mainline-tzdata-releaseandroid10-mainline-tzdata-releaseandroid10-android13-mainline-tzdata-release
Change-Id: If4916a588c0e85189c29cccd566a4ac49ec6328e
Diffstat (limited to 'tests/unit')
13 files changed, 209 insertions, 161 deletions
diff --git a/tests/unit/Android.mk b/tests/unit/Android.mk index 80dbfeef..5ea7ccd8 100644 --- a/tests/unit/Android.mk +++ b/tests/unit/Android.mk @@ -9,7 +9,7 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_STATIC_JAVA_LIBRARIES := \ androidx.test.runner \ - mockito-robolectric-prebuilt \ + mockito-target \ tv-test-common \ LOCAL_JAVA_LIBRARIES := \ diff --git a/tests/unit/AndroidManifest.xml b/tests/unit/AndroidManifest.xml index 5ee17de2..c7d2f528 100644 --- a/tests/unit/AndroidManifest.xml +++ b/tests/unit/AndroidManifest.xml @@ -18,7 +18,7 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.tv.tests" > - <uses-sdk android:targetSdkVersion="28" android:minSdkVersion="23" /> + <uses-sdk android:targetSdkVersion="27" android:minSdkVersion="23" /> <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner" diff --git a/tests/unit/src/com/android/tv/CurrentPositionMediatorTest.java b/tests/unit/src/com/android/tv/CurrentPositionMediatorTest.java index 052123c0..4b85eaae 100644 --- a/tests/unit/src/com/android/tv/CurrentPositionMediatorTest.java +++ b/tests/unit/src/com/android/tv/CurrentPositionMediatorTest.java @@ -53,9 +53,9 @@ public class CurrentPositionMediatorTest extends BaseMainActivityTestCase { public void testOnSeekRequested() { long seekToTimeMs = System.currentTimeMillis() - REQUEST_TIMEOUT_MS * 3; mMediator.onSeekRequested(seekToTimeMs); - assertWithMessage("Seek request time") - .that(mMediator.mSeekRequestTimeMs) - .isNotSameInstanceAs(INVALID_TIME); + assertWithMessage("Seek request time") + .that(mMediator.mSeekRequestTimeMs) + .isNotSameAs(INVALID_TIME); assertWithMessage("Current position") .that(mMediator.mCurrentPositionMs) .isEqualTo(seekToTimeMs); @@ -68,15 +68,15 @@ public class CurrentPositionMediatorTest extends BaseMainActivityTestCase { long newCurrentTimeMs = seekToTimeMs + REQUEST_TIMEOUT_MS; mMediator.onSeekRequested(seekToTimeMs); mMediator.onCurrentPositionChanged(newCurrentTimeMs); - assertWithMessage("Seek request time") - .that(mMediator.mSeekRequestTimeMs) - .isNotSameInstanceAs(INVALID_TIME); - assertWithMessage("Current position") - .that(mMediator.mCurrentPositionMs) - .isNotSameInstanceAs(seekToTimeMs); - assertWithMessage("Current position") - .that(mMediator.mCurrentPositionMs) - .isNotSameInstanceAs(newCurrentTimeMs); + assertWithMessage("Seek request time") + .that(mMediator.mSeekRequestTimeMs) + .isNotSameAs(INVALID_TIME); + assertWithMessage("Current position") + .that(mMediator.mCurrentPositionMs) + .isNotSameAs(seekToTimeMs); + assertWithMessage("Current position") + .that(mMediator.mCurrentPositionMs) + .isNotSameAs(newCurrentTimeMs); } @UiThreadTest diff --git a/tests/unit/src/com/android/tv/data/ChannelDataManagerTest.java b/tests/unit/src/com/android/tv/data/ChannelDataManagerTest.java index ecae18a2..71ccaf35 100644 --- a/tests/unit/src/com/android/tv/data/ChannelDataManagerTest.java +++ b/tests/unit/src/com/android/tv/data/ChannelDataManagerTest.java @@ -56,7 +56,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentMatchers; +import org.mockito.Matchers; import org.mockito.Mockito; /** @@ -92,29 +92,35 @@ public class ChannelDataManagerTest { mContentResolver = new FakeContentResolver(); mContentResolver.addProvider(TvContract.AUTHORITY, mContentProvider); mListener = new TestChannelDataManagerListener(); - getInstrumentation() - .runOnMainSync( - new Runnable() { - @Override - public void run() { - TvInputManagerHelper mockHelper = Mockito.mock(TvInputManagerHelper.class); - Mockito.when(mockHelper.hasTvInputInfo(ArgumentMatchers.anyString())) - .thenReturn(true); - Context mockContext = Mockito.mock(Context.class); - Mockito.when(mockContext.getContentResolver()).thenReturn(mContentResolver); - Mockito.when(mockContext.checkSelfPermission(ArgumentMatchers.anyString())) - .thenAnswer( - invocation -> { - Object[] args = invocation.getArguments(); - return getTargetContext().checkSelfPermission(((String) args[0])); + getInstrumentation() + .runOnMainSync( + new Runnable() { + @Override + public void run() { + TvInputManagerHelper mockHelper = + Mockito.mock(TvInputManagerHelper.class); + Mockito.when(mockHelper.hasTvInputInfo(Matchers.anyString())) + .thenReturn(true); + Context mockContext = Mockito.mock(Context.class); + Mockito.when(mockContext.getContentResolver()) + .thenReturn(mContentResolver); + Mockito.when(mockContext.checkSelfPermission(Matchers.anyString())) + .thenAnswer( + invocation -> { + Object[] args = invocation.getArguments(); + return getTargetContext() + .checkSelfPermission(((String) args[0])); + }); + + mChannelDataManager = + new ChannelDataManager( + mockContext, + mockHelper, + AsyncTask.SERIAL_EXECUTOR, + mContentResolver); + mChannelDataManager.addListener(mListener); + } }); - - mChannelDataManager = - new ChannelDataManager( - mockContext, mockHelper, AsyncTask.SERIAL_EXECUTOR, mContentResolver); - mChannelDataManager.addListener(mListener); - } - }); } @After diff --git a/tests/unit/src/com/android/tv/data/ChannelImplTest.java b/tests/unit/src/com/android/tv/data/ChannelImplTest.java index df2f1a1f..86cfab66 100644 --- a/tests/unit/src/com/android/tv/data/ChannelImplTest.java +++ b/tests/unit/src/com/android/tv/data/ChannelImplTest.java @@ -25,24 +25,20 @@ import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; - import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; - import com.android.tv.data.api.Channel; import com.android.tv.testing.ComparatorTester; import com.android.tv.util.TvInputManagerHelper; - +import java.util.Comparator; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentMatchers; +import org.mockito.Matchers; import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import java.util.Comparator; - /** Tests for {@link ChannelImpl}. */ @SmallTest @RunWith(AndroidJUnit4.class) @@ -50,7 +46,7 @@ public class ChannelImplTest { // Used for testing TV inputs with invalid input package. This could happen when a TV input is // uninstalled while drawing an app link card. private static final String INVALID_TV_INPUT_PACKAGE_NAME = "com.android.tv.invalid_tv_input"; - // Used for testing TV inputs defined inside of TV app. + // Used for testing TV inputs defined inside of Live TV. private static final String LIVE_CHANNELS_PACKAGE_NAME = "com.android.tv"; // Used for testing a TV input which doesn't have its leanback launcher activity. private static final String NONE_LEANBACK_TV_INPUT_PACKAGE_NAME = @@ -119,7 +115,7 @@ public class ChannelImplTest { } }) .when(mockPackageManager) - .getActivityInfo(ArgumentMatchers.<ComponentName>any(), ArgumentMatchers.anyInt()); + .getActivityInfo(Mockito.<ComponentName>any(), Mockito.anyInt()); mMockContext = Mockito.mock(Context.class); Mockito.when(mMockContext.getApplicationContext()).thenReturn(mMockContext); @@ -257,7 +253,7 @@ public class ChannelImplTest { @Test public void testComparator() { TvInputManagerHelper manager = Mockito.mock(TvInputManagerHelper.class); - Mockito.when(manager.isPartnerInput(ArgumentMatchers.anyString())) + Mockito.when(manager.isPartnerInput(Matchers.anyString())) .thenAnswer( new Answer<Boolean>() { @Override @@ -267,18 +263,17 @@ public class ChannelImplTest { } }); Comparator<Channel> comparator = new TestChannelComparator(manager); - ComparatorTester comparatorTester = - new ComparatorTester(comparator).permitInconsistencyWithEquals(); - comparatorTester.addEqualityGroup( + ComparatorTester<Channel> comparatorTester = ComparatorTester.withoutEqualsTest(comparator); + comparatorTester.addComparableGroup( new ChannelImpl.Builder().setInputId(PARTNER_INPUT_ID).build()); - comparatorTester.addEqualityGroup(new ChannelImpl.Builder().setInputId("1").build()); - comparatorTester.addEqualityGroup( + comparatorTester.addComparableGroup(new ChannelImpl.Builder().setInputId("1").build()); + comparatorTester.addComparableGroup( new ChannelImpl.Builder().setInputId("1").setDisplayNumber("2").build()); - comparatorTester.addEqualityGroup( + comparatorTester.addComparableGroup( new ChannelImpl.Builder().setInputId("2").setDisplayNumber("1.0").build()); // display name does not affect comparator - comparatorTester.addEqualityGroup( + comparatorTester.addComparableGroup( new ChannelImpl.Builder() .setInputId("2") .setDisplayNumber("1.62") @@ -294,12 +289,12 @@ public class ChannelImplTest { .setDisplayNumber("1.62") .setDisplayName("test3") .build()); - comparatorTester.addEqualityGroup( + comparatorTester.addComparableGroup( new ChannelImpl.Builder().setInputId("2").setDisplayNumber("2.0").build()); // Numeric display number sorting - comparatorTester.addEqualityGroup( + comparatorTester.addComparableGroup( new ChannelImpl.Builder().setInputId("2").setDisplayNumber("12.2").build()); - comparatorTester.testCompare(); + comparatorTester.test(); } /** @@ -311,7 +306,7 @@ public class ChannelImplTest { @Test public void testComparatorLabel() { TvInputManagerHelper manager = Mockito.mock(TvInputManagerHelper.class); - Mockito.when(manager.isPartnerInput(ArgumentMatchers.anyString())) + Mockito.when(manager.isPartnerInput(Matchers.anyString())) .thenAnswer( new Answer<Boolean>() { @Override @@ -321,21 +316,20 @@ public class ChannelImplTest { } }); Comparator<Channel> comparator = new ChannelComparatorWithDescriptionAsLabel(manager); - ComparatorTester comparatorTester = - new ComparatorTester(comparator).permitInconsistencyWithEquals(); + ComparatorTester<Channel> comparatorTester = ComparatorTester.withoutEqualsTest(comparator); - comparatorTester.addEqualityGroup( + comparatorTester.addComparableGroup( new ChannelImpl.Builder().setInputId(PARTNER_INPUT_ID).setDescription("A").build()); // The description is used as a label for this test. - comparatorTester.addEqualityGroup( + comparatorTester.addComparableGroup( new ChannelImpl.Builder().setDescription("A").setInputId("1").build()); - comparatorTester.addEqualityGroup( + comparatorTester.addComparableGroup( new ChannelImpl.Builder().setDescription("A").setInputId("2").build()); - comparatorTester.addEqualityGroup( + comparatorTester.addComparableGroup( new ChannelImpl.Builder().setDescription("B").setInputId("1").build()); - comparatorTester.testCompare(); + comparatorTester.test(); } @Test diff --git a/tests/unit/src/com/android/tv/features/FeaturesTest.java b/tests/unit/src/com/android/tv/features/FeaturesTest.java new file mode 100644 index 00000000..e35758c3 --- /dev/null +++ b/tests/unit/src/com/android/tv/features/FeaturesTest.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2015 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.tv.features; + +import static com.google.common.truth.Truth.assertThat; + +import androidx.test.filters.SmallTest; +import androidx.test.runner.AndroidJUnit4; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** Test for features. */ +@SmallTest +@RunWith(AndroidJUnit4.class) +public class FeaturesTest { + @Test + public void testPropertyFeatureKeyLength() { + // This forces the class to be loaded and verifies all PropertyFeature key lengths. + // If any keys are too long the test will fail to load. + assertThat(TvFeatures.TEST_FEATURE.isEnabled(null)).isFalse(); + } +} diff --git a/tests/unit/src/com/android/tv/menu/MenuTest.java b/tests/unit/src/com/android/tv/menu/MenuTest.java index 7058316e..e384c398 100644 --- a/tests/unit/src/com/android/tv/menu/MenuTest.java +++ b/tests/unit/src/com/android/tv/menu/MenuTest.java @@ -25,7 +25,6 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentMatchers; import org.mockito.Matchers; import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; @@ -43,10 +42,8 @@ public class MenuTest { public void setUp() { mMenuView = Mockito.mock(IMenuView.class); MenuRowFactory factory = Mockito.mock(MenuRowFactory.class); - Mockito.when( - factory.createMenuRow( - ArgumentMatchers.any(Menu.class), ArgumentMatchers.any(Class.class))) - .thenReturn(null); + Mockito.when(factory.createMenuRow(Mockito.any(Menu.class), Mockito.any(Class.class))) + .thenReturn(null); mVisibilityChangeListener = Mockito.mock(OnMenuVisibilityChangeListener.class); mMenu = new Menu(getTargetContext(), mMenuView, factory, mVisibilityChangeListener); mMenu.disableAnimationForTest(); diff --git a/tests/unit/src/com/android/tv/menu/TvOptionsRowAdapterTest.java b/tests/unit/src/com/android/tv/menu/TvOptionsRowAdapterTest.java index 64a055a2..5ecbdf02 100644 --- a/tests/unit/src/com/android/tv/menu/TvOptionsRowAdapterTest.java +++ b/tests/unit/src/com/android/tv/menu/TvOptionsRowAdapterTest.java @@ -24,7 +24,6 @@ import android.os.SystemClock; import android.text.TextUtils; import androidx.test.filters.MediumTest; import androidx.test.runner.AndroidJUnit4; -import com.android.tv.common.flags.impl.DefaultLegacyFlags; import com.android.tv.testing.activities.BaseMainActivityTestCase; import com.android.tv.testing.constants.Constants; import com.android.tv.testing.testinput.ChannelState; @@ -50,9 +49,7 @@ public class TvOptionsRowAdapterTest extends BaseMainActivityTestCase { @Before public void setUp() { super.setUp(); - mTvOptionsRowAdapter = - new TvOptionsRowAdapter( - mActivity, Collections.emptyList(), DefaultLegacyFlags.DEFAULT); + mTvOptionsRowAdapter = new TvOptionsRowAdapter(mActivity, Collections.emptyList()); tuneToChannel(TvTestInputConstants.CH_1_DEFAULT_DONT_MODIFY); waitUntilAudioTracksHaveSize(1); waitUntilAudioTrackSelected(ChannelState.DEFAULT.getSelectedAudioTrackId()); @@ -76,10 +73,10 @@ public class TvOptionsRowAdapterTest extends BaseMainActivityTestCase { waitUntilAudioTrackSelected(Constants.EN_STEREO_AUDIO_TRACK.getId()); boolean result = mTvOptionsRowAdapter.updateMultiAudioAction(); - assertWithMessage("update Action had change").that(result).isTrue(); - assertWithMessage("Multi Audio enabled") - .that(MenuAction.SELECT_AUDIO_LANGUAGE_ACTION.isEnabled()) - .isTrue(); + assertWithMessage("update Action had change").that(result).isTrue(); + assertWithMessage("Multi Audio enabled") + .that(MenuAction.SELECT_AUDIO_LANGUAGE_ACTION.isEnabled()) + .isTrue(); } @Test @@ -94,10 +91,10 @@ public class TvOptionsRowAdapterTest extends BaseMainActivityTestCase { waitUntilAudioTrackSelected(Constants.GENERIC_AUDIO_TRACK.getId()); boolean result = mTvOptionsRowAdapter.updateMultiAudioAction(); - assertWithMessage("update Action had change").that(result).isTrue(); - assertWithMessage("Multi Audio enabled") - .that(MenuAction.SELECT_AUDIO_LANGUAGE_ACTION.isEnabled()) - .isFalse(); + assertWithMessage("update Action had change").that(result).isTrue(); + assertWithMessage("Multi Audio enabled") + .that(MenuAction.SELECT_AUDIO_LANGUAGE_ACTION.isEnabled()) + .isFalse(); } @Test @@ -113,10 +110,10 @@ public class TvOptionsRowAdapterTest extends BaseMainActivityTestCase { waitUntilVideoTrackSelected(data.mSelectedVideoTrackId); boolean result = mTvOptionsRowAdapter.updateMultiAudioAction(); - assertWithMessage("update Action had change").that(result).isTrue(); - assertWithMessage("Multi Audio enabled") - .that(MenuAction.SELECT_AUDIO_LANGUAGE_ACTION.isEnabled()) - .isFalse(); + assertWithMessage("update Action had change").that(result).isTrue(); + assertWithMessage("Multi Audio enabled") + .that(MenuAction.SELECT_AUDIO_LANGUAGE_ACTION.isEnabled()) + .isFalse(); } private void waitUntilAudioTracksHaveSize(int expected) { diff --git a/tests/unit/src/com/android/tv/recommendation/RecommendationUtils.java b/tests/unit/src/com/android/tv/recommendation/RecommendationUtils.java index eb012f49..b929a0ae 100644 --- a/tests/unit/src/com/android/tv/recommendation/RecommendationUtils.java +++ b/tests/unit/src/com/android/tv/recommendation/RecommendationUtils.java @@ -26,7 +26,7 @@ import java.util.List; import java.util.Random; import java.util.TreeMap; import java.util.concurrent.TimeUnit; -import org.mockito.ArgumentMatchers; +import org.mockito.Matchers; import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; @@ -57,16 +57,17 @@ public class RecommendationUtils { }) .when(dataManager) .getChannelRecords(); - Mockito.doAnswer( - new Answer<ChannelRecord>() { - @Override - public ChannelRecord answer(InvocationOnMock invocation) throws Throwable { - long channelId = (long) invocation.getArguments()[0]; - return channelRecordSortedMap.get(channelId); - } - }) - .when(dataManager) - .getChannelRecord(ArgumentMatchers.anyLong()); + Mockito.doAnswer( + new Answer<ChannelRecord>() { + @Override + public ChannelRecord answer(InvocationOnMock invocation) + throws Throwable { + long channelId = (long) invocation.getArguments()[0]; + return channelRecordSortedMap.get(channelId); + } + }) + .when(dataManager) + .getChannelRecord(Matchers.anyLong()); return dataManager; } @@ -130,7 +131,7 @@ public class RecommendationUtils { // Time hopping with random minutes. latestWatchEndTimeMs += TimeUnit.MINUTES.toMillis(mRandom.nextInt(30) + 1); } - long watchedDurationMs = mRandom.nextInt((int) maxWatchDurationMs) + 1L; + long watchedDurationMs = mRandom.nextInt((int) maxWatchDurationMs) + 1; if (!addWatchLog(channelId, latestWatchEndTimeMs, watchedDurationMs)) { return false; } diff --git a/tests/unit/src/com/android/tv/recommendation/RoutineWatchEvaluatorTest.java b/tests/unit/src/com/android/tv/recommendation/RoutineWatchEvaluatorTest.java index 6cb0e08c..d9149050 100644 --- a/tests/unit/src/com/android/tv/recommendation/RoutineWatchEvaluatorTest.java +++ b/tests/unit/src/com/android/tv/recommendation/RoutineWatchEvaluatorTest.java @@ -17,22 +17,17 @@ package com.android.tv.recommendation; import static com.google.common.truth.Truth.assertThat; - import static org.junit.Assert.assertEquals; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; - -import com.android.tv.data.ProgramImpl; -import com.android.tv.data.api.Program; +import com.android.tv.data.Program; import com.android.tv.recommendation.RoutineWatchEvaluator.ProgramTime; - -import org.junit.Test; -import org.junit.runner.RunWith; - import java.util.Calendar; import java.util.List; import java.util.concurrent.TimeUnit; +import org.junit.Test; +import org.junit.runner.RunWith; /** Tests for {@link RoutineWatchEvaluator}. */ @SmallTest @@ -126,15 +121,15 @@ public class RoutineWatchEvaluatorTest extends EvaluatorTestCase<RoutineWatchEva @Test public void testCalculateTitleMatchScore_longerMatchIsBetter() { String base = "foo bar baz"; - assertThat( - new ScoredItem[] { - score(base, ""), - score(base, "bar"), - score(base, "foo bar"), - score(base, "foo bar baz") - }) - .asList() - .isInOrder(); + assertThat( + new ScoredItem[] { + score(base, ""), + score(base, "bar"), + score(base, "foo bar"), + score(base, "foo bar baz") + }) + .asList() + .isOrdered(); } @Test @@ -325,7 +320,7 @@ public class RoutineWatchEvaluatorTest extends EvaluatorTestCase<RoutineWatchEva private Program createDummyProgram(Calendar startTime, long programDurationMs) { long startTimeMs = startTime.getTimeInMillis(); - return new ProgramImpl.Builder() + return new Program.Builder() .setStartTimeUtcMillis(startTimeMs) .setEndTimeUtcMillis(startTimeMs + programDurationMs) .build(); diff --git a/tests/unit/src/com/android/tv/util/MockTvSingletons.java b/tests/unit/src/com/android/tv/util/MockTvSingletons.java index d9ff5e71..fd4b43cf 100644 --- a/tests/unit/src/com/android/tv/util/MockTvSingletons.java +++ b/tests/unit/src/com/android/tv/util/MockTvSingletons.java @@ -17,15 +17,16 @@ package com.android.tv.util; import android.content.Context; - import com.android.tv.InputSessionManager; import com.android.tv.MainActivityWrapper; import com.android.tv.TvApplication; import com.android.tv.TvSingletons; import com.android.tv.analytics.Analytics; import com.android.tv.analytics.Tracker; +import com.android.tv.common.experiments.ExperimentLoader; import com.android.tv.common.flags.impl.DefaultBackendKnobsFlags; import com.android.tv.common.flags.impl.DefaultCloudEpgFlags; +import com.android.tv.common.flags.impl.DefaultConcurrentDvrPlaybackFlags; import com.android.tv.common.flags.impl.DefaultUiFlags; import com.android.tv.common.recording.RecordingStorageStatusManager; import com.android.tv.common.singletons.HasSingletons; @@ -33,6 +34,7 @@ import com.android.tv.common.util.Clock; import com.android.tv.data.ChannelDataManager; import com.android.tv.data.PreviewDataManager; import com.android.tv.data.ProgramDataManager; +import com.android.tv.data.epg.EpgFetcher; import com.android.tv.data.epg.EpgReader; import com.android.tv.dvr.DvrDataManager; import com.android.tv.dvr.DvrManager; @@ -40,14 +42,11 @@ import com.android.tv.dvr.DvrScheduleManager; import com.android.tv.dvr.DvrWatchedPositionManager; import com.android.tv.dvr.recorder.RecordingScheduler; import com.android.tv.perf.PerformanceMonitor; -import com.android.tv.testing.fakes.FakeClock; +import com.android.tv.testing.FakeClock; import com.android.tv.tunerinputcontroller.BuiltInTunerManager; - import com.google.common.base.Optional; - -import dagger.Lazy; - import java.util.concurrent.Executor; +import javax.inject.Provider; /** Mock {@link TvSingletons} class. */ public class MockTvSingletons implements TvSingletons, HasSingletons<TvSingletons> { @@ -57,6 +56,8 @@ public class MockTvSingletons implements TvSingletons, HasSingletons<TvSingleton private final DefaultBackendKnobsFlags mBackendFlags = new DefaultBackendKnobsFlags(); private final DefaultCloudEpgFlags mCloudEpgFlags = new DefaultCloudEpgFlags(); private final DefaultUiFlags mUiFlags = new DefaultUiFlags(); + private final DefaultConcurrentDvrPlaybackFlags mConcurrentDvrPlaybackFlags = + new DefaultConcurrentDvrPlaybackFlags(); private PerformanceMonitor mPerformanceMonitor; public MockTvSingletons(Context context) { @@ -77,11 +78,21 @@ public class MockTvSingletons implements TvSingletons, HasSingletons<TvSingleton } @Override + public boolean isChannelDataManagerLoadFinished() { + return mApp.isChannelDataManagerLoadFinished(); + } + + @Override public ProgramDataManager getProgramDataManager() { return mApp.getProgramDataManager(); } @Override + public boolean isProgramDataManagerCurrentProgramsLoadFinished() { + return mApp.isProgramDataManagerCurrentProgramsLoadFinished(); + } + + @Override public PreviewDataManager getPreviewDataManager() { return mApp.getPreviewDataManager(); } @@ -137,11 +148,16 @@ public class MockTvSingletons implements TvSingletons, HasSingletons<TvSingleton } @Override - public Lazy<EpgReader> providesEpgReader() { + public Provider<EpgReader> providesEpgReader() { return mApp.providesEpgReader(); } @Override + public EpgFetcher getEpgFetcher() { + return mApp.getEpgFetcher(); + } + + @Override public SetupUtils getSetupUtils() { return mApp.getSetupUtils(); } @@ -152,11 +168,21 @@ public class MockTvSingletons implements TvSingletons, HasSingletons<TvSingleton } @Override + public ExperimentLoader getExperimentLoader() { + return mApp.getExperimentLoader(); + } + + @Override public MainActivityWrapper getMainActivityWrapper() { return mApp.getMainActivityWrapper(); } @Override + public com.android.tv.util.account.AccountHelper getAccountHelper() { + return mApp.getAccountHelper(); + } + + @Override public boolean isRunningInMainProcess() { return mApp.isRunningInMainProcess(); } @@ -196,6 +222,11 @@ public class MockTvSingletons implements TvSingletons, HasSingletons<TvSingleton } @Override + public DefaultConcurrentDvrPlaybackFlags getConcurrentDvrPlaybackFlags() { + return mConcurrentDvrPlaybackFlags; + } + + @Override public TvSingletons singletons() { return this; } diff --git a/tests/unit/src/com/android/tv/util/TvInputManagerHelperTest.java b/tests/unit/src/com/android/tv/util/TvInputManagerHelperTest.java index ab3c5e79..7e35d76b 100644 --- a/tests/unit/src/com/android/tv/util/TvInputManagerHelperTest.java +++ b/tests/unit/src/com/android/tv/util/TvInputManagerHelperTest.java @@ -20,24 +20,19 @@ import static androidx.test.InstrumentationRegistry.getContext; import android.content.pm.ResolveInfo; import android.media.tv.TvInputInfo; - import androidx.test.filters.SmallTest; import androidx.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.ArgumentMatchers; 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} */ @SmallTest @RunWith(AndroidJUnit4.class) @@ -92,13 +87,13 @@ public class TvInputManagerHelperTest { TvInputManagerHelper manager = createMockTvInputManager(); - ComparatorTester comparatorTester = - new ComparatorTester(new TvInputManagerHelper.InputComparatorInternal(manager)) - .permitInconsistencyWithEquals(); + ComparatorTester<TvInputInfo> comparatorTester = + ComparatorTester.withoutEqualsTest( + new TvInputManagerHelper.InputComparatorInternal(manager)); for (TvInputInfo input : inputs) { - comparatorTester.addEqualityGroup(input); + comparatorTester.addComparableGroup(input); } - comparatorTester.testCompare(); + comparatorTester.test(); } @Test @@ -148,17 +143,15 @@ public class TvInputManagerHelperTest { TvInputManagerHelper manager = createMockTvInputManager(); - ComparatorTester comparatorTester = - new ComparatorTester( - new TvInputManagerHelper.HardwareInputComparator( - getContext(), manager)) - .permitInconsistencyWithEquals(); + ComparatorTester<TvInputInfo> comparatorTester = + ComparatorTester.withoutEqualsTest( + new TvInputManagerHelper.HardwareInputComparator(getContext(), manager)); comparatorTester - .addEqualityGroup(hdmi3) - .addEqualityGroup(hdmi2) - .addEqualityGroup(hdmi1) - .addEqualityGroup(hdmi4) - .testCompare(); + .addComparableGroup(hdmi3) + .addComparableGroup(hdmi2) + .addComparableGroup(hdmi1) + .addComparableGroup(hdmi4) + .test(); } @Test @@ -209,12 +202,10 @@ public class TvInputManagerHelperTest { TvInputManagerHelper manager = createMockTvInputManager(); - ComparatorTester comparatorTester = - new ComparatorTester( - new TvInputManagerHelper.HardwareInputComparator( - getContext(), manager)) - .permitInconsistencyWithEquals(); - comparatorTester.addEqualityGroup(cec1).addEqualityGroup(cec2).testCompare(); + ComparatorTester<TvInputInfo> comparatorTester = + ComparatorTester.withoutEqualsTest( + new TvInputManagerHelper.HardwareInputComparator(getContext(), manager)); + comparatorTester.addComparableGroup(cec1).addComparableGroup(cec2).test(); } private TvInputManagerHelper createMockTvInputManager() { @@ -228,7 +219,7 @@ public class TvInputManagerHelperTest { } }) .when(manager) - .isPartnerInput(ArgumentMatchers.<TvInputInfo>any()); + .isPartnerInput(Mockito.<TvInputInfo>any()); Mockito.doAnswer( new Answer<String>() { @Override @@ -238,7 +229,7 @@ public class TvInputManagerHelperTest { } }) .when(manager) - .loadLabel(ArgumentMatchers.<TvInputInfo>any()); + .loadLabel(Mockito.<TvInputInfo>any()); Mockito.doAnswer( new Answer<String>() { @Override @@ -248,7 +239,7 @@ public class TvInputManagerHelperTest { } }) .when(manager) - .loadCustomLabel(ArgumentMatchers.<TvInputInfo>any()); + .loadCustomLabel(Mockito.<TvInputInfo>any()); Mockito.doAnswer( new Answer<TvInputInfo>() { @Override @@ -260,7 +251,7 @@ public class TvInputManagerHelperTest { } }) .when(manager) - .getTvInputInfo(ArgumentMatchers.<String>any()); + .getTvInputInfo(Mockito.<String>any()); return manager; } diff --git a/tests/unit/src/com/android/tv/util/images/ImageCacheTest.java b/tests/unit/src/com/android/tv/util/images/ImageCacheTest.java index 6e968249..41722135 100644 --- a/tests/unit/src/com/android/tv/util/images/ImageCacheTest.java +++ b/tests/unit/src/com/android/tv/util/images/ImageCacheTest.java @@ -52,28 +52,28 @@ public class ImageCacheTest { public void testPutIfLarger_smaller() throws Exception { mImageCache.putIfNeeded(INFO_50); - assertWithMessage("before").that(mImageCache.get(KEY)).isSameInstanceAs(INFO_50); + assertWithMessage("before").that(mImageCache.get(KEY)).isSameAs(INFO_50); mImageCache.putIfNeeded(INFO_25); - assertWithMessage("after").that(mImageCache.get(KEY)).isSameInstanceAs(INFO_50); + assertWithMessage("after").that(mImageCache.get(KEY)).isSameAs(INFO_50); } @Test public void testPutIfLarger_larger() throws Exception { mImageCache.putIfNeeded(INFO_50); - assertWithMessage("before").that(mImageCache.get(KEY)).isSameInstanceAs(INFO_50); + assertWithMessage("before").that(mImageCache.get(KEY)).isSameAs(INFO_50); mImageCache.putIfNeeded(INFO_100); - assertWithMessage("after").that(mImageCache.get(KEY)).isSameInstanceAs(INFO_100); + assertWithMessage("after").that(mImageCache.get(KEY)).isSameAs(INFO_100); } @Test public void testPutIfLarger_alreadyMax() throws Exception { mImageCache.putIfNeeded(INFO_100); - assertWithMessage("before").that(mImageCache.get(KEY)).isSameInstanceAs(INFO_100); + assertWithMessage("before").that(mImageCache.get(KEY)).isSameAs(INFO_100); mImageCache.putIfNeeded(INFO_200); - assertWithMessage("after").that(mImageCache.get(KEY)).isSameInstanceAs(INFO_100); + assertWithMessage("after").that(mImageCache.get(KEY)).isSameAs(INFO_100); } } |