aboutsummaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-04-28 20:27:19 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-04-28 20:27:19 +0000
commite8a0f1ba285fd06676de2bdb08456d588e8341e2 (patch)
treef4ba89447e2d7ac3355508e583a5cf0574c29af5 /tests/unit
parentf61bdda7ea9f0ecaf4158715411dc025ed9a3061 (diff)
parentd12bfa398c56027290a9e6e4fd14f635458ec581 (diff)
downloadTV-e8a0f1ba285fd06676de2bdb08456d588e8341e2.tar.gz
Change-Id: If4916a588c0e85189c29cccd566a4ac49ec6328e
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/Android.mk2
-rw-r--r--tests/unit/AndroidManifest.xml2
-rw-r--r--tests/unit/src/com/android/tv/CurrentPositionMediatorTest.java24
-rw-r--r--tests/unit/src/com/android/tv/data/ChannelDataManagerTest.java52
-rw-r--r--tests/unit/src/com/android/tv/data/ChannelImplTest.java48
-rw-r--r--tests/unit/src/com/android/tv/features/FeaturesTest.java36
-rw-r--r--tests/unit/src/com/android/tv/menu/MenuTest.java7
-rw-r--r--tests/unit/src/com/android/tv/menu/TvOptionsRowAdapterTest.java29
-rw-r--r--tests/unit/src/com/android/tv/recommendation/RecommendationUtils.java25
-rw-r--r--tests/unit/src/com/android/tv/recommendation/RoutineWatchEvaluatorTest.java31
-rw-r--r--tests/unit/src/com/android/tv/util/MockTvSingletons.java45
-rw-r--r--tests/unit/src/com/android/tv/util/TvInputManagerHelperTest.java57
-rw-r--r--tests/unit/src/com/android/tv/util/images/ImageCacheTest.java12
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);
}
}