# InMemoryDatabaseRule

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/InMemoryDatabaseRule.java+class:androidx.media3.test.utils.InMemoryDatabaseRule)

*** ** * ** ***


```
@UnstableApi
public final class InMemoryDatabaseRule implements TestRule
```

<br />

*** ** * ** ***

A JUnit `https://junit.org/junit4/javadoc/latest/org/junit/Rule.html` that creates (and cleans up) in-memory databases and `https://developer.android.com/reference/androidx/media3/datasource/cache/SimpleCache` instances.

## Summary

| ### Public methods |
|---|---|
| `https://junit.org/junit4/javadoc/latest/org/junit/runners/model/Statement.html` | `https://developer.android.com/reference/androidx/media3/test/utils/InMemoryDatabaseRule#apply(org.junit.runners.model.Statement,org.junit.runner.Description)(https://junit.org/junit4/javadoc/latest/org/junit/runners/model/Statement.html base, https://junit.org/junit4/javadoc/latest/org/junit/runner/Description.html description)` |
| `static https://developer.android.com/reference/androidx/media3/test/utils/InMemoryDatabaseRule` | `https://developer.android.com/reference/androidx/media3/test/utils/InMemoryDatabaseRule#create()()` |
| `https://developer.android.com/reference/androidx/media3/database/DatabaseProvider` | `https://developer.android.com/reference/androidx/media3/test/utils/InMemoryDatabaseRule#createDatabaseProvider()()` Returns the `https://developer.android.com/reference/androidx/media3/database/DatabaseProvider` created by this rule. |
| `https://developer.android.com/reference/androidx/media3/datasource/cache/SimpleCache` | `https://developer.android.com/reference/androidx/media3/test/utils/InMemoryDatabaseRule#createSimpleCache()()` Returns a `https://developer.android.com/reference/androidx/media3/datasource/cache/SimpleCache` created by this rule. |

## Public methods

### apply

```
public Statement apply(Statement base, Description description)
```

### create

```
public static InMemoryDatabaseRule create()
```

### createDatabaseProvider

```
public DatabaseProvider createDatabaseProvider()
```

Returns the `https://developer.android.com/reference/androidx/media3/database/DatabaseProvider` created by this rule.

### createSimpleCache

```
public SimpleCache createSimpleCache()
```

Returns a `https://developer.android.com/reference/androidx/media3/datasource/cache/SimpleCache` created by this rule.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/io/IOException.html` |   |