Commit 76d60b91 by bachinger Committed by Christos Tsilopoulos

Migrate media item transition tests to TestExoPlayer

PiperOrigin-RevId: 396313679
parent 71a4b633
...@@ -555,27 +555,6 @@ public final class ExoPlayerTestRunner implements Player.Listener, ActionSchedul ...@@ -555,27 +555,6 @@ public final class ExoPlayerTestRunner implements Player.Listener, ActionSchedul
} }
/** /**
* Asserts that the media items reported by {@link
* Player.Listener#onMediaItemTransition(MediaItem, int)} are the same as the provided media
* items.
*
* @param mediaItems A list of expected {@link MediaItem media items}.
*/
public void assertMediaItemsTransitionedSame(MediaItem... mediaItems) {
assertThat(this.mediaItems).containsExactlyElementsIn(mediaItems).inOrder();
}
/**
* Asserts that the media item transition reasons reported by {@link
* Player.Listener#onMediaItemTransition(MediaItem, int)} are the same as the provided reasons.
*
* @param reasons A list of expected transition reasons.
*/
public void assertMediaItemsTransitionReasonsEqual(Integer... reasons) {
assertThat(this.mediaItemTransitionReasons).containsExactlyElementsIn(reasons).inOrder();
}
/**
* Asserts that the playback states reported by {@link * Asserts that the playback states reported by {@link
* Player.Listener#onPlaybackStateChanged(int)} are equal to the provided playback states. * Player.Listener#onPlaybackStateChanged(int)} are equal to the provided playback states.
*/ */
......
...@@ -73,6 +73,13 @@ public class FakeMediaSource extends BaseMediaSource { ...@@ -73,6 +73,13 @@ public class FakeMediaSource extends BaseMediaSource {
} }
} }
/** Convenience method to create a {@link FakeMediaSource} with the given window id. */
public static FakeMediaSource createWithWindowId(Object windowId) {
return new FakeMediaSource(
new FakeTimeline(
new FakeTimeline.TimelineWindowDefinition(/* periodCount= */ 1, windowId)));
}
/** The media item used by the fake media source. */ /** The media item used by the fake media source. */
public static final MediaItem FAKE_MEDIA_ITEM = public static final MediaItem FAKE_MEDIA_ITEM =
new MediaItem.Builder().setMediaId("FakeMediaSource").setUri("http://manifest.uri").build(); new MediaItem.Builder().setMediaId("FakeMediaSource").setUri("http://manifest.uri").build();
......
...@@ -26,6 +26,7 @@ import android.graphics.Color; ...@@ -26,6 +26,7 @@ import android.graphics.Color;
import android.media.MediaCodec; import android.media.MediaCodec;
import android.net.Uri; import android.net.Uri;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.Timeline;
import com.google.android.exoplayer2.database.DatabaseProvider; import com.google.android.exoplayer2.database.DatabaseProvider;
import com.google.android.exoplayer2.database.DefaultDatabaseProvider; import com.google.android.exoplayer2.database.DefaultDatabaseProvider;
import com.google.android.exoplayer2.extractor.DefaultExtractorInput; import com.google.android.exoplayer2.extractor.DefaultExtractorInput;
...@@ -45,6 +46,7 @@ import java.io.FileOutputStream; ...@@ -45,6 +46,7 @@ import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.List;
import java.util.Random; import java.util.Random;
/** Utility methods for tests. */ /** Utility methods for tests. */
...@@ -184,6 +186,23 @@ public class TestUtil { ...@@ -184,6 +186,23 @@ public class TestUtil {
} }
/** /**
* Asserts that the actual timelines are the same to the expected timelines. This assert differs
* from testing equality by not comparing period ids which may be different due to id mapping of
* child source period ids.
*
* @param actualTimelines A list of actual {@link Timeline timelines}.
* @param expectedTimelines A list of expected {@link Timeline timelines}.
*/
public static void assertTimelinesSame(
List<Timeline> actualTimelines, List<Timeline> expectedTimelines) {
assertThat(actualTimelines).hasSize(expectedTimelines.size());
for (int i = 0; i < actualTimelines.size(); i++) {
assertThat(new NoUidTimeline(actualTimelines.get(i)))
.isEqualTo(new NoUidTimeline(expectedTimelines.get(i)));
}
}
/**
* Asserts that data read from a {@link DataSource} matches {@code expected}. * Asserts that data read from a {@link DataSource} matches {@code expected}.
* *
* @param dataSource The {@link DataSource} through which to read. * @param dataSource The {@link DataSource} through which to read.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment