# MediaPeriodAsserts

Artifact: [androidx.media3:media3-test-utils](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/test/utils/MediaPeriodAsserts.java+class:androidx.media3.test.utils.MediaPeriodAsserts)

*** ** * ** ***


```
@UnstableApi
public final class MediaPeriodAsserts
```

<br />

*** ** * ** ***

Assertion methods for `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod`.

## Summary

| ### Nested types |
|---|
| `public interface https://developer.android.com/reference/androidx/media3/test/utils/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T extends https://developer.android.com/reference/androidx/media3/exoplayer/offline/FilterableManifest<T>>` Interface to create media periods for testing based on a `https://developer.android.com/reference/androidx/media3/exoplayer/offline/FilterableManifest`. |

| ### Public methods |
|---|---|
| `static void` | `<T extends https://developer.android.com/reference/androidx/media3/exoplayer/offline/FilterableManifest<T>> https://developer.android.com/reference/androidx/media3/test/utils/MediaPeriodAsserts#assertGetStreamKeysAndManifestFilterIntegration(androidx.media3.test.utils.MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T>,T)( https://developer.android.com/reference/androidx/media3/test/utils/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T> mediaPeriodFactory, T manifest )` Asserts that the values returns by `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod#getStreamKeys(java.util.List<androidx.media3.exoplayer.trackselection.ExoTrackSelection>)` are compatible with a `https://developer.android.com/reference/androidx/media3/exoplayer/offline/FilterableManifest` using these stream keys. |
| `static void` | `<T extends https://developer.android.com/reference/androidx/media3/exoplayer/offline/FilterableManifest<T>> https://developer.android.com/reference/androidx/media3/test/utils/MediaPeriodAsserts#assertGetStreamKeysAndManifestFilterIntegration(androidx.media3.test.utils.MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T>,T,int,java.lang.String)( https://developer.android.com/reference/androidx/media3/test/utils/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T> mediaPeriodFactory, T manifest, int periodIndex, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html ignoredMimeType )` Asserts that the values returns by `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod#getStreamKeys(java.util.List<androidx.media3.exoplayer.trackselection.ExoTrackSelection>)` are compatible with a `https://developer.android.com/reference/androidx/media3/exoplayer/offline/FilterableManifest` using these stream keys. |
| `static void` | `https://developer.android.com/reference/androidx/media3/test/utils/MediaPeriodAsserts#assertTrackGroups(androidx.media3.exoplayer.source.MediaPeriod,androidx.media3.exoplayer.source.TrackGroupArray)( https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod mediaPeriod, https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray expectedGroups )` Prepares the `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod` and asserts that it provides the specified track groups. |

## Public methods

### assertGetStreamKeysAndManifestFilterIntegration

```
public static void <T extends FilterableManifest<T>> assertGetStreamKeysAndManifestFilterIntegration(
    MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T> mediaPeriodFactory,
    T manifest
)
```

Asserts that the values returns by `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod#getStreamKeys(java.util.List<androidx.media3.exoplayer.trackselection.ExoTrackSelection>)` are compatible with a `https://developer.android.com/reference/androidx/media3/exoplayer/offline/FilterableManifest` using these stream keys.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/test/utils/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T> mediaPeriodFactory` | A factory to create a `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod` based on a manifest. |
| `T manifest` | The manifest which is to be tested. |

### assertGetStreamKeysAndManifestFilterIntegration

```
public static void <T extends FilterableManifest<T>> assertGetStreamKeysAndManifestFilterIntegration(
    MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T> mediaPeriodFactory,
    T manifest,
    int periodIndex,
    @Nullable String ignoredMimeType
)
```

Asserts that the values returns by `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod#getStreamKeys(java.util.List<androidx.media3.exoplayer.trackselection.ExoTrackSelection>)` are compatible with a `https://developer.android.com/reference/androidx/media3/exoplayer/offline/FilterableManifest` using these stream keys.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/test/utils/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T> mediaPeriodFactory` | A factory to create a `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod` based on a manifest. |
| `T manifest` | The manifest which is to be tested. |
| `int periodIndex` | The index of period in the manifest. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html ignoredMimeType` | Optional MIME type whose existence in the filtered track groups is not asserted. |

### assertTrackGroups

```
public static void assertTrackGroups(
    MediaPeriod mediaPeriod,
    TrackGroupArray expectedGroups
)
```

Prepares the `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod` and asserts that it provides the specified track groups.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod mediaPeriod` | The `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod` to test. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray expectedGroups` | The expected track groups. |