From fd9f7e5aa149a899d03cbab284a168a3d767066e Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Sun, 3 Apr 2022 17:28:12 +0500 Subject: [PATCH] Reorganize test code --- .../impl => extensions}/RoomTypeConvertersTest.kt | 13 ++++++------- .../kirmanak/mealient/test/HiltRobolectricTest.kt | 12 +++--------- .../gq/kirmanak/mealient/test/RobolectricTest.kt | 11 ++++++++++- .../gq/kirmanak/mealient/test/TestExtensions.kt | 12 +++++++++++- 4 files changed, 30 insertions(+), 18 deletions(-) rename app/src/test/java/gq/kirmanak/mealient/{data/impl => extensions}/RoomTypeConvertersTest.kt (74%) diff --git a/app/src/test/java/gq/kirmanak/mealient/data/impl/RoomTypeConvertersTest.kt b/app/src/test/java/gq/kirmanak/mealient/extensions/RoomTypeConvertersTest.kt similarity index 74% rename from app/src/test/java/gq/kirmanak/mealient/data/impl/RoomTypeConvertersTest.kt rename to app/src/test/java/gq/kirmanak/mealient/extensions/RoomTypeConvertersTest.kt index 85ff1de..1068a18 100644 --- a/app/src/test/java/gq/kirmanak/mealient/data/impl/RoomTypeConvertersTest.kt +++ b/app/src/test/java/gq/kirmanak/mealient/extensions/RoomTypeConvertersTest.kt @@ -1,7 +1,6 @@ -package gq.kirmanak.mealient.data.impl +package gq.kirmanak.mealient.extensions -import com.google.common.truth.Truth.assertThat -import gq.kirmanak.mealient.extensions.RoomTypeConverters +import com.google.common.truth.Truth import kotlinx.datetime.LocalDate import kotlinx.datetime.LocalDateTime import org.junit.Test @@ -11,27 +10,27 @@ class RoomTypeConvertersTest { fun `when localDateTimeToTimestamp then correctly converts`() { val input = LocalDateTime.parse("2021-11-13T15:56:33") val actual = RoomTypeConverters.localDateTimeToTimestamp(input) - assertThat(actual).isEqualTo(1636818993000) + Truth.assertThat(actual).isEqualTo(1636818993000) } @Test fun `when timestampToLocalDateTime then correctly converts`() { val expected = LocalDateTime.parse("2021-11-13T15:58:38") val actual = RoomTypeConverters.timestampToLocalDateTime(1636819118000) - assertThat(actual).isEqualTo(expected) + Truth.assertThat(actual).isEqualTo(expected) } @Test fun `when localDateToTimeStamp then correctly converts`() { val input = LocalDate.parse("2021-11-13") val actual = RoomTypeConverters.localDateToTimeStamp(input) - assertThat(actual).isEqualTo(1636761600000) + Truth.assertThat(actual).isEqualTo(1636761600000) } @Test fun `when timestampToLocalDate then correctly converts`() { val expected = LocalDate.parse("2021-11-13") val actual = RoomTypeConverters.timestampToLocalDate(1636761600000) - assertThat(actual).isEqualTo(expected) + Truth.assertThat(actual).isEqualTo(expected) } } \ No newline at end of file diff --git a/app/src/test/java/gq/kirmanak/mealient/test/HiltRobolectricTest.kt b/app/src/test/java/gq/kirmanak/mealient/test/HiltRobolectricTest.kt index 80f50bc..b4dc9fb 100644 --- a/app/src/test/java/gq/kirmanak/mealient/test/HiltRobolectricTest.kt +++ b/app/src/test/java/gq/kirmanak/mealient/test/HiltRobolectricTest.kt @@ -8,22 +8,16 @@ import org.junit.BeforeClass import org.junit.Rule import org.junit.runner.RunWith import org.robolectric.annotation.Config -import timber.log.Timber @RunWith(AndroidJUnit4::class) @Config(application = HiltTestApplication::class, manifest = Config.NONE) abstract class HiltRobolectricTest { + companion object { + @BeforeClass @JvmStatic - fun setupTimber() { - Timber.plant(object : Timber.Tree() { - override fun log(priority: Int, tag: String?, message: String, t: Throwable?) { - println(message) - t?.printStackTrace() - } - }) - } + fun setupTimber() = plantPrintLn() } @get:Rule diff --git a/app/src/test/java/gq/kirmanak/mealient/test/RobolectricTest.kt b/app/src/test/java/gq/kirmanak/mealient/test/RobolectricTest.kt index 5fc79bf..b58b3b4 100644 --- a/app/src/test/java/gq/kirmanak/mealient/test/RobolectricTest.kt +++ b/app/src/test/java/gq/kirmanak/mealient/test/RobolectricTest.kt @@ -2,9 +2,18 @@ package gq.kirmanak.mealient.test import android.app.Application import androidx.test.ext.junit.runners.AndroidJUnit4 +import org.junit.BeforeClass import org.junit.runner.RunWith import org.robolectric.annotation.Config @RunWith(AndroidJUnit4::class) @Config(application = Application::class, manifest = Config.NONE) -abstract class RobolectricTest \ No newline at end of file +abstract class RobolectricTest { + + companion object { + + @BeforeClass + @JvmStatic + fun setupTimber() = plantPrintLn() + } +} \ No newline at end of file diff --git a/app/src/test/java/gq/kirmanak/mealient/test/TestExtensions.kt b/app/src/test/java/gq/kirmanak/mealient/test/TestExtensions.kt index b80b093..da0a67f 100644 --- a/app/src/test/java/gq/kirmanak/mealient/test/TestExtensions.kt +++ b/app/src/test/java/gq/kirmanak/mealient/test/TestExtensions.kt @@ -2,5 +2,15 @@ package gq.kirmanak.mealient.test import okhttp3.MediaType.Companion.toMediaType import okhttp3.ResponseBody.Companion.toResponseBody +import timber.log.Timber -fun String.toJsonResponseBody() = toResponseBody("application/json".toMediaType()) \ No newline at end of file +fun String.toJsonResponseBody() = toResponseBody("application/json".toMediaType()) + +fun plantPrintLn() { + Timber.plant(object : Timber.Tree() { + override fun log(priority: Int, tag: String?, message: String, t: Throwable?) { + println(message) + t?.printStackTrace() + } + }) +} \ No newline at end of file