Skip to content

Commit 42d65a6

Browse files
authored
Refactor tests to use assertEquals (#913)
* Refactor tests to use assertEquals * Remove Hamcrest
1 parent 21a528e commit 42d65a6

File tree

3 files changed

+38
-45
lines changed

3 files changed

+38
-45
lines changed

app/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,6 @@ dependencies {
153153
// Dependencies for local unit tests
154154
testImplementation(composeBom)
155155
testImplementation(libs.junit4)
156-
testImplementation(libs.hamcrest)
157156
testImplementation(libs.androidx.archcore.testing)
158157
testImplementation(libs.kotlinx.coroutines.android)
159158
testImplementation(libs.kotlinx.coroutines.test)

app/src/androidTest/java/com/example/android/architecture/blueprints/todoapp/addedittask/AddEditTaskScreenTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,9 @@ class AddEditTaskScreenTest {
107107

108108
// THEN - Verify that the repository saved the task
109109
val tasks = repository.getTasks(true)
110-
assertEquals(tasks.size, 1)
111-
assertEquals(tasks[0].title, "title")
112-
assertEquals(tasks[0].description, "description")
110+
assertEquals(1, tasks.size)
111+
assertEquals("title", tasks[0].title)
112+
assertEquals("description", tasks[0].description)
113113
}
114114

115115
private fun findTextField(text: Int): SemanticsNodeInteraction {

app/src/androidTest/java/com/example/android/architecture/blueprints/todoapp/data/source/local/TasksDaoTest.kt

Lines changed: 35 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,10 @@ import androidx.test.core.app.ApplicationProvider.getApplicationContext
2222
import androidx.test.ext.junit.runners.AndroidJUnit4
2323
import androidx.test.filters.SmallTest
2424
import com.example.android.architecture.blueprints.todoapp.MainCoroutineRule
25+
import junit.framework.TestCase.assertEquals
26+
import junit.framework.TestCase.assertNotNull
2527
import kotlinx.coroutines.ExperimentalCoroutinesApi
2628
import kotlinx.coroutines.test.runTest
27-
import org.hamcrest.CoreMatchers.`is`
28-
import org.hamcrest.CoreMatchers.notNullValue
29-
import org.hamcrest.MatcherAssert.assertThat
30-
import org.junit.After
3129
import org.junit.Before
3230
import org.junit.Rule
3331
import org.junit.Test
@@ -38,7 +36,12 @@ import org.junit.runner.RunWith
3836
@SmallTest
3937
class TasksDaoTest {
4038

41-
private lateinit var database: ToDoDatabase
39+
// using an in-memory database because the information stored here disappears when the
40+
// process is killed
41+
private val database = Room.inMemoryDatabaseBuilder(
42+
getApplicationContext(),
43+
ToDoDatabase::class.java
44+
).allowMainThreadQueries().build()
4245

4346
// Set the main coroutines dispatcher for unit testing.
4447
@ExperimentalCoroutinesApi
@@ -49,18 +52,9 @@ class TasksDaoTest {
4952
@get:Rule
5053
val instantExecutorRule = InstantTaskExecutorRule()
5154

55+
// Ensure that we use an empty database for each test.
5256
@Before
53-
fun initDb() {
54-
// using an in-memory database because the information stored here disappears when the
55-
// process is killed
56-
database = Room.inMemoryDatabaseBuilder(
57-
getApplicationContext(),
58-
ToDoDatabase::class.java
59-
).allowMainThreadQueries().build()
60-
}
61-
62-
@After
63-
fun closeDb() = database.close()
57+
fun initDb() = database.clearAllTables()
6458

6559
@Test
6660
fun insertTaskAndGetById() = runTest {
@@ -72,11 +66,11 @@ class TasksDaoTest {
7266
val loaded = database.taskDao().getTaskById(task.id)
7367

7468
// THEN - The loaded data contains the expected values
75-
assertThat<LocalTask>(loaded as LocalTask, notNullValue())
76-
assertThat(loaded.id, `is`(task.id))
77-
assertThat(loaded.title, `is`(task.title))
78-
assertThat(loaded.description, `is`(task.description))
79-
assertThat(loaded.isCompleted, `is`(task.isCompleted))
69+
assertNotNull(loaded as LocalTask)
70+
assertEquals(task.id, loaded.id)
71+
assertEquals(task.title, loaded.title)
72+
assertEquals(task.description, loaded.description)
73+
assertEquals(task.isCompleted, loaded.isCompleted)
8074
}
8175

8276
@Test
@@ -96,10 +90,10 @@ class TasksDaoTest {
9690

9791
// THEN - The loaded data contains the expected values
9892
val loaded = database.taskDao().getTaskById(task.id)
99-
assertThat(loaded?.id, `is`(task.id))
100-
assertThat(loaded?.title, `is`("title2"))
101-
assertThat(loaded?.description, `is`("description2"))
102-
assertThat(loaded?.isCompleted, `is`(true))
93+
assertEquals(task.id, loaded?.id)
94+
assertEquals("title2", loaded?.title)
95+
assertEquals("description2", loaded?.description)
96+
assertEquals(true, loaded?.isCompleted)
10397
}
10498

10599
@Test
@@ -112,11 +106,11 @@ class TasksDaoTest {
112106
val tasks = database.taskDao().getTasks()
113107

114108
// THEN - There is only 1 task in the database, and contains the expected values
115-
assertThat(tasks.size, `is`(1))
116-
assertThat(tasks[0].id, `is`(task.id))
117-
assertThat(tasks[0].title, `is`(task.title))
118-
assertThat(tasks[0].description, `is`(task.description))
119-
assertThat(tasks[0].isCompleted, `is`(task.isCompleted))
109+
assertEquals(1, tasks.size)
110+
assertEquals(tasks[0].id, task.id)
111+
assertEquals(tasks[0].title, task.title)
112+
assertEquals(tasks[0].description, task.description)
113+
assertEquals(tasks[0].isCompleted, task.isCompleted)
120114
}
121115

122116
@Test
@@ -136,10 +130,10 @@ class TasksDaoTest {
136130

137131
// THEN - The loaded data contains the expected values
138132
val loaded = database.taskDao().getTaskById(originalTask.id)
139-
assertThat(loaded?.id, `is`(originalTask.id))
140-
assertThat(loaded?.title, `is`("new title"))
141-
assertThat(loaded?.description, `is`("new description"))
142-
assertThat(loaded?.isCompleted, `is`(true))
133+
assertEquals(originalTask.id, loaded?.id)
134+
assertEquals("new title", loaded?.title)
135+
assertEquals("new description", loaded?.description)
136+
assertEquals(true, loaded?.isCompleted)
143137
}
144138

145139
@Test
@@ -158,10 +152,10 @@ class TasksDaoTest {
158152

159153
// THEN - The loaded data contains the expected values
160154
val loaded = database.taskDao().getTaskById(task.id)
161-
assertThat(loaded?.id, `is`(task.id))
162-
assertThat(loaded?.title, `is`(task.title))
163-
assertThat(loaded?.description, `is`(task.description))
164-
assertThat(loaded?.isCompleted, `is`(false))
155+
assertEquals(task.id, loaded?.id)
156+
assertEquals(task.title, loaded?.title)
157+
assertEquals(task.description, loaded?.description)
158+
assertEquals(false, loaded?.isCompleted)
165159
}
166160

167161
@Test
@@ -175,7 +169,7 @@ class TasksDaoTest {
175169

176170
// THEN - The list is empty
177171
val tasks = database.taskDao().getTasks()
178-
assertThat(tasks.isEmpty(), `is`(true))
172+
assertEquals(true, tasks.isEmpty())
179173
}
180174

181175
@Test
@@ -194,7 +188,7 @@ class TasksDaoTest {
194188

195189
// THEN - The list is empty
196190
val tasks = database.taskDao().getTasks()
197-
assertThat(tasks.isEmpty(), `is`(true))
191+
assertEquals(true, tasks.isEmpty())
198192
}
199193

200194
@Test
@@ -209,6 +203,6 @@ class TasksDaoTest {
209203

210204
// THEN - The list is empty
211205
val tasks = database.taskDao().getTasks()
212-
assertThat(tasks.isEmpty(), `is`(true))
206+
assertEquals(true, tasks.isEmpty())
213207
}
214208
}

0 commit comments

Comments
 (0)