Skip to content

Commit 5637128

Browse files
author
Ashwini Kumar
committed
Update robolectric and move unit tests
1 parent 367864e commit 5637128

File tree

7 files changed

+39
-40
lines changed

7 files changed

+39
-40
lines changed

app/build.gradle.kts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,10 @@ dependencies {
134134

135135
// start-region Test
136136
testImplementation(Deps.junit)
137-
testImplementation(Deps.Mockito.core)
138-
androidTestImplementation(Deps.Mockito.android)
139-
testImplementation(Deps.Mockito.kotlin)
140-
testImplementation(Deps.Mockito.inline)
137+
testImplementation(Deps.Test.Mockito.core)
138+
androidTestImplementation(Deps.Test.Mockito.android)
139+
testImplementation(Deps.Test.Mockito.kotlin)
140+
testImplementation(Deps.Test.Mockito.inline)
141141
testImplementation(Deps.AndroidX.Test.arch_core_testing)
142142
testImplementation(Deps.AndroidX.Test.core)
143143
androidTestImplementation(Deps.AndroidX.Test.runner)
@@ -147,8 +147,8 @@ dependencies {
147147
androidTestImplementation(Deps.AndroidX.Test.Espresso.contrib)
148148
androidTestImplementation(Deps.AndroidX.Test.Espresso.idling_resource)
149149
androidTestImplementation(Deps.AndroidX.Test.rules)
150-
testImplementation(Deps.truth)
151-
androidTestImplementation(Deps.truth)
150+
testImplementation(Deps.Test.truth)
151+
testImplementation(Deps.Test.robolectric)
152152
testImplementation(Deps.Coroutines.test)
153153
// end-region Test
154154

app/src/androidTest/java/com/android/tvmaze/utils/TestUtils.kt

Lines changed: 0 additions & 14 deletions
This file was deleted.

app/src/main/java/com/android/tvmaze/favorite/FavoriteShowsAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class FavoriteShowsAdapter(
2121
val layoutInflater = LayoutInflater.from(parent.context)
2222
val showListItemBinding = ShowListItemBinding.inflate(layoutInflater, parent, false)
2323
val holder = FavoriteShowHolder(showListItemBinding)
24-
holder.binding.favorite.setOnClickListener { onFavouriteIconClicked(holder.adapterPosition) }
24+
holder.binding.favorite.setOnClickListener { onFavouriteIconClicked(holder.absoluteAdapterPosition) }
2525
holder.binding.showFavoriteIcon = false
2626
return holder
2727
}

app/src/main/java/com/android/tvmaze/home/ShowsAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class ShowsAdapter constructor(
2727
.inflate(layoutInflater, parent, false)
2828
val showHolder = ShowHolder(showListItemBinding)
2929
showHolder.binding.showFavoriteIcon = true
30-
showHolder.binding.favorite.setOnClickListener { onFavouriteIconClicked(showHolder.adapterPosition) }
30+
showHolder.binding.favorite.setOnClickListener { onFavouriteIconClicked(showHolder.absoluteAdapterPosition) }
3131
return showHolder
3232
}
3333

app/src/androidTest/java/com/android/tvmaze/favorites/FavoritesRepositoryTest.kt renamed to app/src/test/java/com/android/tvmaze/favorites/FavoritesRepositoryTest.kt

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,19 @@ package com.android.tvmaze.favorites
33
import android.content.Context
44
import androidx.room.Room
55
import androidx.test.core.app.ApplicationProvider
6-
import androidx.test.ext.junit.runners.AndroidJUnit4
7-
import androidx.test.filters.LargeTest
86
import com.android.tvmaze.db.TvMazeDatabase
97
import com.android.tvmaze.db.favouriteshow.ShowDao
108
import com.android.tvmaze.favorite.FavoriteShowsRepository
11-
import com.android.tvmaze.utils.TestUtils
9+
import com.android.tvmaze.utils.TestUtil
1210
import com.google.common.truth.Truth.assertThat
1311
import kotlinx.coroutines.runBlocking
1412
import org.junit.After
1513
import org.junit.Before
1614
import org.junit.Test
1715
import org.junit.runner.RunWith
18-
import java.io.IOException
16+
import org.robolectric.RobolectricTestRunner
1917

20-
@LargeTest
21-
@RunWith(AndroidJUnit4::class)
18+
@RunWith(RobolectricTestRunner::class)
2219
class FavoritesRepositoryTest {
2320
private lateinit var favoriteShowsRepository: FavoriteShowsRepository
2421
private lateinit var tvMazeDb: TvMazeDatabase
@@ -37,7 +34,7 @@ class FavoritesRepositoryTest {
3734
@Test
3835
fun testShowInsertionInDb() {
3936
runBlocking {
40-
favoriteShowsRepository.insertIntoFavorites(TestUtils.getFakeShow())
37+
favoriteShowsRepository.insertIntoFavorites(TestUtil.getFakeShow())
4138
val favShows = favoriteShowsRepository.allFavoriteShows()
4239
assertThat(favShows.isNotEmpty()).isTrue()
4340
}
@@ -54,15 +51,14 @@ class FavoritesRepositoryTest {
5451
@Test
5552
fun testFavoriteShows() {
5653
runBlocking {
57-
val fakeShow = TestUtils.getFakeShow()
54+
val fakeShow = TestUtil.getFakeShow()
5855
favoriteShowsRepository.insertIntoFavorites(fakeShow)
5956
val favoriteShows = favoriteShowsRepository.allFavoriteShows()
6057
assertThat(favoriteShows[0] == fakeShow).isTrue()
6158
}
6259
}
6360

6461
@After
65-
@Throws(IOException::class)
6662
fun release() {
6763
tvMazeDb.close()
6864
}

app/src/test/java/com/android/tvmaze/utils/TestUtil.kt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package com.android.tvmaze.utils
22

3+
import com.android.tvmaze.db.favouriteshow.FavoriteShow
34
import com.android.tvmaze.home.HomeViewData
45
import com.android.tvmaze.network.home.Episode
56
import com.android.tvmaze.network.home.Show
67
import java.text.SimpleDateFormat
7-
import java.util.Calendar
8-
import java.util.Locale
8+
import java.util.*
9+
import kotlin.collections.ArrayList
10+
import kotlin.collections.List
11+
import kotlin.collections.emptyList
12+
import kotlin.collections.forEach
913

1014
object TestUtil {
1115
fun getFakeEpisodeViewDataList(isFavorite: Boolean): List<HomeViewData.EpisodeViewData> {
@@ -62,4 +66,13 @@ object TestUtil {
6266
episodeList.add(episode2)
6367
return episodeList
6468
}
69+
70+
fun getFakeShow(): FavoriteShow {
71+
return FavoriteShow(
72+
id = 222, name = "Friends",
73+
premiered = "Aug 2002", imageUrl = null,
74+
summary = "Friends for life!", rating = "10 stars",
75+
runtime = 132000, isFavorite = true
76+
)
77+
}
6578
}

buildSrc/src/main/kotlin/Dependencies.kt

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ object Deps {
3434
const val material = "1.1.0"
3535
const val android_test_junit = "1.1.1"
3636
const val multidex = "2.0.1"
37+
const val robolectric = "4.4"
3738
}
3839

3940
const val android_plugin = "com.android.tools.build:gradle:${Versions.android_plugin}"
@@ -140,17 +141,20 @@ object Deps {
140141
const val codegen = "com.squareup.moshi:moshi-kotlin-codegen:${Versions.moshi}"
141142
}
142143

143-
object Mockito {
144-
const val core = "org.mockito:mockito-core:${Versions.mockito}"
145-
const val android = "org.mockito:mockito-android:${Versions.mockito}"
146-
const val inline = "org.mockito:mockito-inline:${Versions.mockito}"
147-
const val kotlin = "com.nhaarman.mockitokotlin2:mockito-kotlin:${Versions.mockito_kotlin}"
144+
object Test {
145+
object Mockito {
146+
const val core = "org.mockito:mockito-core:${Versions.mockito}"
147+
const val android = "org.mockito:mockito-android:${Versions.mockito}"
148+
const val inline = "org.mockito:mockito-inline:${Versions.mockito}"
149+
const val kotlin = "com.nhaarman.mockitokotlin2:mockito-kotlin:${Versions.mockito_kotlin}"
150+
}
151+
const val truth = "com.google.truth:truth:${Versions.truth}"
152+
const val robolectric = "org.robolectric:robolectric:${Versions.robolectric}"
148153
}
149154

155+
150156
object Chucker {
151157
const val debug = "com.github.chuckerteam.chucker:library:${Versions.chucker}"
152158
const val release = "com.github.chuckerteam.chucker:library-no-op:${Versions.chucker}"
153159
}
154-
155-
const val truth = "com.google.truth:truth:${Versions.truth}"
156160
}

0 commit comments

Comments
 (0)