mirror of https://github.com/TeamNewPipe/NewPipe
33 lines
1.0 KiB
Kotlin
33 lines
1.0 KiB
Kotlin
package org.schabi.newpipe.testUtil
|
|
|
|
import androidx.room.Room
|
|
import androidx.test.core.app.ApplicationProvider
|
|
import org.junit.Assert.assertSame
|
|
import org.schabi.newpipe.NewPipeDatabase
|
|
import org.schabi.newpipe.database.AppDatabase
|
|
|
|
class TestDatabase {
|
|
companion object {
|
|
fun createReplacingNewPipeDatabase(): AppDatabase {
|
|
val database = Room.inMemoryDatabaseBuilder(
|
|
ApplicationProvider.getApplicationContext(),
|
|
AppDatabase::class.java
|
|
)
|
|
.allowMainThreadQueries()
|
|
.build()
|
|
|
|
val databaseField = NewPipeDatabase::class.java.getDeclaredField("databaseInstance")
|
|
databaseField.isAccessible = true
|
|
databaseField.set(NewPipeDatabase::class, database)
|
|
|
|
assertSame(
|
|
"Mocking database failed!",
|
|
database,
|
|
NewPipeDatabase.getInstance(ApplicationProvider.getApplicationContext())
|
|
)
|
|
|
|
return database
|
|
}
|
|
}
|
|
}
|