# MediaPeriodAsserts

# 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)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/media3/test/utils/MediaPeriodAsserts "View this page in Java")

<br />

```
@UnstableApi
class MediaPeriodAsserts
```

<br />

*** ** * ** ***

Assertion methods for[MediaPeriod](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaPeriod).

## Summary

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

|                                    ### Public functions                                     |
|---------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `java-static `[Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | `<T : `[FilterableManifest](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/offline/FilterableManifest)`<T!>?> `[assertGetStreamKeysAndManifestFilterIntegration](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/MediaPeriodAsserts#assertGetStreamKeysAndManifestFilterIntegration(androidx.media3.test.utils.MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T>,T))`(` ` mediaPeriodFactory: `[MediaPeriodAsserts.FilterableManifestMediaPeriodFactory](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory)`<T!>!,` ` manifest: T!` `)` Asserts that the values returns by[getStreamKeys](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaPeriod#getStreamKeys(java.util.List<androidx.media3.exoplayer.trackselection.ExoTrackSelection>))are compatible with a[FilterableManifest](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/offline/FilterableManifest)using these stream keys.                                                                                                                                                                                                                               |
| `java-static `[Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | `<T : `[FilterableManifest](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/offline/FilterableManifest)`<T!>?> `[assertGetStreamKeysAndManifestFilterIntegration](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/MediaPeriodAsserts#assertGetStreamKeysAndManifestFilterIntegration(androidx.media3.test.utils.MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T>,T,int,java.lang.String))`(` ` mediaPeriodFactory: `[MediaPeriodAsserts.FilterableManifestMediaPeriodFactory](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory)`<T!>!,` ` manifest: T!,` ` periodIndex: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` ignoredMimeType: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`?` `)` Asserts that the values returns by[getStreamKeys](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaPeriod#getStreamKeys(java.util.List<androidx.media3.exoplayer.trackselection.ExoTrackSelection>))are compatible with a[FilterableManifest](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/offline/FilterableManifest)using these stream keys. |
| `java-static `[Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [assertTrackGroups](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/MediaPeriodAsserts#assertTrackGroups(androidx.media3.exoplayer.source.MediaPeriod,androidx.media3.exoplayer.source.TrackGroupArray))`(` ` mediaPeriod: `[MediaPeriod](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaPeriod)`!,` ` expectedGroups: `[TrackGroupArray](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/TrackGroupArray)`!` `)` Prepares the[MediaPeriod](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaPeriod)and asserts that it provides the specified track groups.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |

## Public functions

### assertGetStreamKeysAndManifestFilterIntegration

```
java-static fun <T : FilterableManifest<T!>?> assertGetStreamKeysAndManifestFilterIntegration(
    mediaPeriodFactory: MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T!>!,
    manifest: T!
): Unit
```

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

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

### assertGetStreamKeysAndManifestFilterIntegration

```
java-static fun <T : FilterableManifest<T!>?> assertGetStreamKeysAndManifestFilterIntegration(
    mediaPeriodFactory: MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T!>!,
    manifest: T!,
    periodIndex: Int,
    ignoredMimeType: String?
): Unit
```

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

|                                                                                                        Parameters                                                                                                         |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| `mediaPeriodFactory: `[MediaPeriodAsserts.FilterableManifestMediaPeriodFactory](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory)`<T!>!` | A factory to create a[MediaPeriod](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaPeriod)based on a manifest. |
| `manifest: T!`                                                                                                                                                                                                            | The manifest which is to be tested.                                                                                                                 |
| `periodIndex: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                                                                                                                | The index of period in the manifest.                                                                                                                |
| `ignoredMimeType: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`?`                                                                                                                   | Optional MIME type whose existence in the filtered track groups is not asserted.                                                                    |

### assertTrackGroups

```
java-static fun assertTrackGroups(
    mediaPeriod: MediaPeriod!,
    expectedGroups: TrackGroupArray!
): Unit
```

Prepares the[MediaPeriod](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaPeriod)and asserts that it provides the specified track groups.  

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