Skip to content

Commit 1e610e3

Browse files
committed
Adds SavedInstanceDatabase test
1 parent d7f8405 commit 1e610e3

1 file changed

Lines changed: 58 additions & 0 deletions

File tree

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package org.wordpress.android.editor.savedinstance
2+
3+
import android.content.Context
4+
import android.os.Parcel
5+
import android.os.Parcelable
6+
import dagger.hilt.android.testing.HiltAndroidRule
7+
import dagger.hilt.android.testing.HiltAndroidTest
8+
import org.junit.Assert.assertEquals
9+
import org.junit.Before
10+
import org.junit.Rule
11+
import org.junit.Test
12+
import javax.inject.Inject
13+
14+
@HiltAndroidTest
15+
class SavedInstanceDatabaseTest {
16+
@get:Rule
17+
val hiltRule = HiltAndroidRule(this)
18+
19+
@Inject
20+
lateinit var context: Context
21+
22+
private lateinit var db: SavedInstanceDatabase
23+
24+
@Before
25+
fun setUp() {
26+
hiltRule.inject()
27+
db = SavedInstanceDatabase.getDatabase(context)!!
28+
}
29+
30+
@Test
31+
fun testStoreAndRetrieve() {
32+
val parcelId = "testParcelId"
33+
val parcelData = TestParcelable("testData")
34+
db.addParcel(parcelId, parcelData)
35+
val result = db.getParcel(parcelId, TestParcelable.CREATOR)
36+
assertEquals(parcelData, result)
37+
}
38+
39+
data class TestParcelable(val data: String) : Parcelable {
40+
constructor(parcel: Parcel) : this(parcel.readString()!!)
41+
42+
override fun writeToParcel(parcel: Parcel, flags: Int) {
43+
parcel.writeString(data)
44+
}
45+
46+
override fun describeContents(): Int = 0
47+
48+
companion object CREATOR : Parcelable.Creator<TestParcelable> {
49+
override fun createFromParcel(parcel: Parcel): TestParcelable {
50+
return TestParcelable(parcel)
51+
}
52+
53+
override fun newArray(size: Int): Array<TestParcelable?> {
54+
return arrayOfNulls(size)
55+
}
56+
}
57+
}
58+
}

0 commit comments

Comments
 (0)