Migrate ExoPlayerTest.playShortDurationPeriods to use TestExoPlayer

PiperOrigin-RevId: 323754499
This commit is contained in:
christosts 2020-07-29 11:20:25 +01:00 committed by Oliver Woodman
parent 7f10800e25
commit 075ef824ec

View File

@ -258,20 +258,28 @@ public final class ExoPlayerTest {
Timeline timeline =
new FakeTimeline(new TimelineWindowDefinition(/* periodCount= */ 100, /* id= */ 0));
FakeRenderer renderer = new FakeRenderer(C.TRACK_TYPE_VIDEO);
ExoPlayerTestRunner testRunner =
new ExoPlayerTestRunner.Builder(context)
.setTimeline(timeline)
.setRenderers(renderer)
.build()
.start()
.blockUntilEnded(TIMEOUT_MS);
Integer[] expectedReasons = new Integer[99];
Arrays.fill(expectedReasons, Player.DISCONTINUITY_REASON_PERIOD_TRANSITION);
testRunner.assertPositionDiscontinuityReasonsEqual(expectedReasons);
testRunner.assertTimelinesSame(placeholderTimeline, timeline);
testRunner.assertTimelineChangeReasonsEqual(
Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED,
Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE);
SimpleExoPlayer player = new TestExoPlayer.Builder(context).setRenderers(renderer).build();
EventListener mockEventListener = mock(EventListener.class);
player.addListener(mockEventListener);
player.setMediaSource(new FakeMediaSource(timeline, ExoPlayerTestRunner.VIDEO_FORMAT));
player.prepare();
player.play();
runUntilPlaybackState(player, Player.STATE_ENDED);
InOrder inOrder = inOrder(mockEventListener);
inOrder
.verify(mockEventListener)
.onTimelineChanged(
argThat(noUid(placeholderTimeline)),
eq(Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED));
inOrder
.verify(mockEventListener)
.onTimelineChanged(
argThat(noUid(timeline)), eq(Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE));
inOrder
.verify(mockEventListener, times(99))
.onPositionDiscontinuity(Player.DISCONTINUITY_REASON_PERIOD_TRANSITION);
assertThat(renderer.getFormatsRead()).hasSize(100);
assertThat(renderer.sampleBufferReadCount).isEqualTo(100);
assertThat(renderer.isEnded).isTrue();