@UnstableApi
public final class TimelineAsserts


Assertion methods for Timeline.

Summary

Public methods

static void
assertAdGroupCounts(Timeline timeline, int[] expectedAdGroupCounts)

Asserts that periods' getAdGroupCount are set correctly.

static void

Assert that timeline is empty (i.e. has no windows or periods).

static void
assertEqualNextWindowIndices(
    Timeline expectedTimeline,
    Timeline actualTimeline,
    @Player.RepeatMode int repeatMode,
    boolean shuffleModeEnabled
)

Asserts that next window indices for each window of the actual timeline are equal to the indices of the expected timeline depending on the repeat mode and the shuffle mode.

static void
assertEqualPreviousWindowIndices(
    Timeline expectedTimeline,
    Timeline actualTimeline,
    @Player.RepeatMode int repeatMode,
    boolean shuffleModeEnabled
)

Asserts that previous window indices for each window of the actual timeline are equal to the indices of the expected timeline depending on the repeat mode and the shuffle mode.

static void
assertEqualsExceptIdsAndManifest(
    Timeline expectedTimeline,
    Timeline actualTimeline
)

Asserts that timelines are equal except uid, manifest, id, and uid.

static void
assertNextWindowIndices(
    Timeline timeline,
    @Player.RepeatMode int repeatMode,
    boolean shuffleModeEnabled,
    int[] expectedNextWindowIndices
)

Asserts that next window indices for each window depending on the repeat mode and the shuffle mode are equal to the given sequence.

static void
assertPeriodCounts(Timeline timeline, int[] expectedPeriodCounts)

Asserts that period counts for each window are set correctly.

static void
assertPeriodDurations(Timeline timeline, long[] durationsUs)

Asserts that the durations of the periods in the Timeline and the durations in the given sequence are equal.

static void
assertPeriodEqualsExceptIds(
    Timeline.Period expectedPeriod,
    Timeline.Period actualPeriod
)

Asserts that periods are equal except id and uid.

static void
assertPreviousWindowIndices(
    Timeline timeline,
    @Player.RepeatMode int repeatMode,
    boolean shuffleModeEnabled,
    int[] expectedPreviousWindowIndices
)

Asserts that previous window indices for each window depending on the repeat mode and the shuffle mode are equal to the given sequence.

static void
assertWindowEqualsExceptUidAndManifest(
    Timeline.Window expectedWindow,
    Timeline.Window actualWindow
)

Asserts that windows are equal except uid and manifest.

static void
assertWindowIsDynamic(Timeline timeline, boolean[] windowIsDynamic)

Asserts that window properties Window.isDynamic are set correctly.

static void
assertWindowTags(
    Timeline timeline,
    @NullableType Object[] expectedWindowTags
)

Asserts that window tags are set correctly.

Public methods

assertAdGroupCounts

public static void assertAdGroupCounts(Timeline timeline, int[] expectedAdGroupCounts)

Asserts that periods' getAdGroupCount are set correctly.

assertEmpty

public static void assertEmpty(Timeline timeline)

Assert that timeline is empty (i.e. has no windows or periods).

assertEqualNextWindowIndices

public static void assertEqualNextWindowIndices(
    Timeline expectedTimeline,
    Timeline actualTimeline,
    @Player.RepeatMode int repeatMode,
    boolean shuffleModeEnabled
)

Asserts that next window indices for each window of the actual timeline are equal to the indices of the expected timeline depending on the repeat mode and the shuffle mode.

assertEqualPreviousWindowIndices

public static void assertEqualPreviousWindowIndices(
    Timeline expectedTimeline,
    Timeline actualTimeline,
    @Player.RepeatMode int repeatMode,
    boolean shuffleModeEnabled
)

Asserts that previous window indices for each window of the actual timeline are equal to the indices of the expected timeline depending on the repeat mode and the shuffle mode.

assertEqualsExceptIdsAndManifest

public static void assertEqualsExceptIdsAndManifest(
    Timeline expectedTimeline,
    Timeline actualTimeline
)

Asserts that timelines are equal except uid, manifest, id, and uid.

assertNextWindowIndices

public static void assertNextWindowIndices(
    Timeline timeline,
    @Player.RepeatMode int repeatMode,
    boolean shuffleModeEnabled,
    int[] expectedNextWindowIndices
)

Asserts that next window indices for each window depending on the repeat mode and the shuffle mode are equal to the given sequence.

assertPeriodCounts

public static void assertPeriodCounts(Timeline timeline, int[] expectedPeriodCounts)

Asserts that period counts for each window are set correctly. Also asserts that firstPeriodIndex and lastPeriodIndex are set correctly, and it asserts the correct behavior of getNextWindowIndex.

assertPeriodDurations

public static void assertPeriodDurations(Timeline timeline, long[] durationsUs)

Asserts that the durations of the periods in the Timeline and the durations in the given sequence are equal.

assertPeriodEqualsExceptIds

public static void assertPeriodEqualsExceptIds(
    Timeline.Period expectedPeriod,
    Timeline.Period actualPeriod
)

Asserts that periods are equal except id and uid.

assertPreviousWindowIndices

public static void assertPreviousWindowIndices(
    Timeline timeline,
    @Player.RepeatMode int repeatMode,
    boolean shuffleModeEnabled,
    int[] expectedPreviousWindowIndices
)

Asserts that previous window indices for each window depending on the repeat mode and the shuffle mode are equal to the given sequence.

assertWindowEqualsExceptUidAndManifest

public static void assertWindowEqualsExceptUidAndManifest(
    Timeline.Window expectedWindow,
    Timeline.Window actualWindow
)

Asserts that windows are equal except uid and manifest.

assertWindowIsDynamic

public static void assertWindowIsDynamic(Timeline timeline, boolean[] windowIsDynamic)

Asserts that window properties Window.isDynamic are set correctly.

assertWindowTags

public static void assertWindowTags(
    Timeline timeline,
    @NullableType Object[] expectedWindowTags
)

Asserts that window tags are set correctly.

Parameters
Timeline timeline

The timeline to read actual window tags from.

@NullableType Object[] expectedWindowTags

A list of expected window tags. If a tag is unknown or not important null can be passed to skip this window.