diff --git a/build.gradle.kts b/build.gradle.kts index 0cc55ce..74ef7fa 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,6 +6,7 @@ buildscript { plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.android) apply false + alias(libs.plugins.kotlin.power.assert) apply false alias(libs.plugins.androidLibrary) apply false alias(libs.plugins.hilt.android) apply false alias(libs.plugins.secrets.gradle.plugin) apply false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1b3cdaf..125f656 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -28,7 +28,6 @@ playServicesLocation = "21.4.0" robolectric = "4.17" secretsGradlePlugin = "2.0.1" spotless = "8.10.3" -truth = "1.4.5" volley = "1.2.1" uiTestAndroid = "1.12.0" uiToolingVersion = "1.12.0" @@ -68,7 +67,6 @@ androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" } androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } dagger = { group = "com.google.dagger", name = "dagger", version.ref = "hiltVersion" } dokka-plugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } -google-truth = { group = "com.google.truth", name = "truth", version.ref = "truth" } gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" } hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hiltVersion" } hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hiltVersion" } @@ -102,6 +100,7 @@ compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = " dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hiltVersion" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +kotlin-power-assert = { id = "org.jetbrains.kotlin.plugin.power-assert", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } secrets-gradle-plugin = { id = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin", version.ref = "secretsGradlePlugin" } spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } diff --git a/places-compose-demo/build.gradle.kts b/places-compose-demo/build.gradle.kts index 8a20885..84127e7 100644 --- a/places-compose-demo/build.gradle.kts +++ b/places-compose-demo/build.gradle.kts @@ -1,12 +1,25 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.power.assert) alias(libs.plugins.hilt.android) alias(libs.plugins.ksp) alias(libs.plugins.secrets.gradle.plugin) alias(libs.plugins.compose.compiler) } +@OptIn(org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi::class) +powerAssert { + functions = listOf( + "kotlin.assert", + "kotlin.test.assertTrue", + "kotlin.test.assertEquals", + "kotlin.test.assertNull", + "kotlin.test.assertNotNull", + ) + includedSourceSets = listOf("debugUnitTest", "releaseUnitTest", "debugAndroidTest") +} + hilt { enableAggregatingTask = false } @@ -107,9 +120,6 @@ dependencies { implementation(libs.hilt.android) implementation(kotlin("reflect")) - // TODO: Kotlin power assert? - testImplementation(libs.google.truth) - // Google Maps Compose implementation(libs.maps.compose) implementation(libs.maps.compose.utils) diff --git a/places-compose-demo/src/test/java/com/google/android/libraries/places/compose/demo/presentation/landmark/addresshandlers/in/ToIndiaAddressTest.kt b/places-compose-demo/src/test/java/com/google/android/libraries/places/compose/demo/presentation/landmark/addresshandlers/in/ToIndiaAddressTest.kt index 661ec15..8042666 100644 --- a/places-compose-demo/src/test/java/com/google/android/libraries/places/compose/demo/presentation/landmark/addresshandlers/in/ToIndiaAddressTest.kt +++ b/places-compose-demo/src/test/java/com/google/android/libraries/places/compose/demo/presentation/landmark/addresshandlers/in/ToIndiaAddressTest.kt @@ -17,7 +17,6 @@ import com.google.android.libraries.places.compose.autocomplete.domain.mappers.t import com.google.android.libraries.places.compose.autocomplete.models.geocoder.ReverseGeocodingResponse import com.google.android.libraries.places.compose.demo.presentation.landmark.addresshandlers.toDisplayAddress import com.google.android.libraries.places.compose.demo.presentation.landmark.addresshandlers.withResourceTestFile -import com.google.common.truth.Truth.assertThat import kotlin.test.Test internal class ToIndiaAddressTest { @@ -29,18 +28,18 @@ internal class ToIndiaAddressTest { ) { geocodingResponse -> val address = geocodingResponse.addresses.first() - assertThat(address.formattedAddress) - .isEqualTo( + assert( + address.formattedAddress == "93, White Wood St, Malibu Town, Sector 47, Gurugram, Haryana 122022, India", - ) + ) val indiaDisplayAddress = address.toAddress("IN").toDisplayAddress() as IndiaDisplayAddress - assertThat(indiaDisplayAddress.aptSuiteUnit).isEqualTo("93") - assertThat(indiaDisplayAddress.streetAddress).isEqualTo("White Wood Street Malibu Town Sector 47") - assertThat(indiaDisplayAddress.city).isEqualTo("Gurugram") - assertThat(indiaDisplayAddress.state).isEqualTo("Haryana") - assertThat(indiaDisplayAddress.country).isEqualTo("India") - assertThat(indiaDisplayAddress.countryCode).isEqualTo("IN") + assert(indiaDisplayAddress.aptSuiteUnit == "93") + assert(indiaDisplayAddress.streetAddress == "White Wood Street Malibu Town Sector 47") + assert(indiaDisplayAddress.city == "Gurugram") + assert(indiaDisplayAddress.state == "Haryana") + assert(indiaDisplayAddress.country == "India") + assert(indiaDisplayAddress.countryCode == "IN") } } @@ -52,22 +51,23 @@ internal class ToIndiaAddressTest { ) { val address = it.addresses.first() - assertThat(address.formattedAddress) - .isEqualTo( + assert( + address.formattedAddress == "akshardham society, 2/3, Sarthana - Kamrej Rd, " + - "opp. navjivan restorant, Sarthana Jakat Naka, Nana Varachha, " + - "Surat, Khadsad, Gujarat 395006, India", - ) + "opp. navjivan restorant, Sarthana Jakat Naka, Nana Varachha, " + + "Surat, Khadsad, Gujarat 395006, India", + ) val indiaDisplayAddress = address.toAddress("IN").toDisplayAddress() as IndiaDisplayAddress - assertThat(indiaDisplayAddress.aptSuiteUnit).isEqualTo("akshardham society 2/3") - assertThat( - indiaDisplayAddress.streetAddress, - ).isEqualTo("Sarthana - Kamrej Road Sarthana Jakat Naka Nana Varachha") - assertThat(indiaDisplayAddress.city).isEqualTo("Surat") - assertThat(indiaDisplayAddress.state).isEqualTo("Gujarat") - assertThat(indiaDisplayAddress.country).isEqualTo("India") - assertThat(indiaDisplayAddress.countryCode).isEqualTo("IN") + assert(indiaDisplayAddress.aptSuiteUnit == "akshardham society 2/3") + assert( + indiaDisplayAddress.streetAddress == + "Sarthana - Kamrej Road Sarthana Jakat Naka Nana Varachha", + ) + assert(indiaDisplayAddress.city == "Surat") + assert(indiaDisplayAddress.state == "Gujarat") + assert(indiaDisplayAddress.country == "India") + assert(indiaDisplayAddress.countryCode == "IN") } } } diff --git a/places-compose-demo/src/test/java/com/google/android/libraries/places/compose/demo/presentation/landmark/addresshandlers/us/ToUsAddressTest.kt b/places-compose-demo/src/test/java/com/google/android/libraries/places/compose/demo/presentation/landmark/addresshandlers/us/ToUsAddressTest.kt index f1dad4f..8ee053a 100644 --- a/places-compose-demo/src/test/java/com/google/android/libraries/places/compose/demo/presentation/landmark/addresshandlers/us/ToUsAddressTest.kt +++ b/places-compose-demo/src/test/java/com/google/android/libraries/places/compose/demo/presentation/landmark/addresshandlers/us/ToUsAddressTest.kt @@ -17,7 +17,6 @@ import com.google.android.libraries.places.compose.autocomplete.domain.mappers.t import com.google.android.libraries.places.compose.autocomplete.models.geocoder.ReverseGeocodingResponse import com.google.android.libraries.places.compose.demo.presentation.landmark.addresshandlers.toDisplayAddress import com.google.android.libraries.places.compose.demo.presentation.landmark.addresshandlers.withResourceTestFile -import com.google.common.truth.Truth.assertThat import kotlin.test.Test internal class ToUsAddressTest { @@ -29,18 +28,19 @@ internal class ToUsAddressTest { ) { geocodingResponse -> val address = geocodingResponse.addresses.first() - assertThat(address.formattedAddress).isEqualTo( - "101 The Embarcadero suite 200, San Francisco, CA 94105, USA", + assert( + address.formattedAddress == + "101 The Embarcadero suite 200, San Francisco, CA 94105, USA", ) val usAddress = address.toAddress("US").toDisplayAddress() as UsDisplayAddress - assertThat(usAddress.streetAddress).isEqualTo("101 The Embarcadero") - assertThat(usAddress.additionalAddressInfo).isEqualTo("suite 200") - assertThat(usAddress.city).isEqualTo("San Francisco") - assertThat(usAddress.state).isEqualTo("CA") - assertThat(usAddress.zipCode).isEqualTo("94105") - assertThat(usAddress.countryCode).isEqualTo("US") - assertThat(usAddress.country).isEqualTo("United States") + assert(usAddress.streetAddress == "101 The Embarcadero") + assert(usAddress.additionalAddressInfo == "suite 200") + assert(usAddress.city == "San Francisco") + assert(usAddress.state == "CA") + assert(usAddress.zipCode == "94105") + assert(usAddress.countryCode == "US") + assert(usAddress.country == "United States") } } } diff --git a/places-compose/build.gradle.kts b/places-compose/build.gradle.kts index bce14ca..e678b7d 100644 --- a/places-compose/build.gradle.kts +++ b/places-compose/build.gradle.kts @@ -3,10 +3,23 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.androidLibrary) alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.power.assert) alias(libs.plugins.compose.compiler) id("android.places.compose.PublishingConventionPlugin") } +@OptIn(org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi::class) +powerAssert { + functions = listOf( + "kotlin.assert", + "kotlin.test.assertTrue", + "kotlin.test.assertEquals", + "kotlin.test.assertNull", + "kotlin.test.assertNotNull", + ) + includedSourceSets = listOf("debugUnitTest", "releaseUnitTest", "debugAndroidTest") +} + android { lint { sarifOutput = layout.buildDirectory.file("reports/lint-results.sarif").get().asFile @@ -126,7 +139,6 @@ dependencies { implementation(libs.androidx.compose.material.icons.core) debugImplementation(libs.androidx.compose.ui.ui.tooling) - testImplementation(libs.google.truth) testImplementation(kotlin("test")) testImplementation(libs.robolectric) testImplementation(libs.mockk) diff --git a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/components/AnnotatedStringMapperTest.kt b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/components/AnnotatedStringMapperTest.kt index c3c3bdf..ccb0f33 100644 --- a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/components/AnnotatedStringMapperTest.kt +++ b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/components/AnnotatedStringMapperTest.kt @@ -3,7 +3,6 @@ package com.google.android.libraries.places.compose.autocomplete.components import android.graphics.Typeface import android.text.SpannableStringBuilder import android.text.style.StyleSpan -import com.google.common.truth.Truth.assertThat import org.junit.runner.RunWith import org.robolectric.RobolectricTestRunner import kotlin.test.Test @@ -48,9 +47,9 @@ class AutoCompleteTextFieldTest { annotatedText.getStringAnnotations(0, annotatedText.length) val annotations = annotatedText.spanStyles - assertThat(annotations).hasSize(1) - assertThat(annotations[0].start).isEqualTo(start) - assertThat(annotations[0].end).isEqualTo(end) - assertThat(annotatedText.substring(start, end)).isEqualTo(word) + assert(annotations.size == 1) + assert(annotations[0].start == start) + assert(annotations[0].end == end) + assert(annotatedText.substring(start, end) == word) } } diff --git a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/components/PlacesAutocompleteTextFieldTest.kt b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/components/PlacesAutocompleteTextFieldTest.kt index bbf9309..f78624e 100644 --- a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/components/PlacesAutocompleteTextFieldTest.kt +++ b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/components/PlacesAutocompleteTextFieldTest.kt @@ -28,11 +28,11 @@ import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performTextInput import com.google.android.libraries.places.compose.autocomplete.data.meters import com.google.android.libraries.places.compose.autocomplete.models.AutocompletePlace -import com.google.common.truth.Truth.assertThat import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.robolectric.RobolectricTestRunner +import kotlin.test.assertNotNull /** * UI unit tests verifying the [PlacesAutocompleteTextField] and [AutocompletePlaceRow] composables. @@ -108,7 +108,7 @@ class PlacesAutocompleteTextFieldTest { composeTestRule.onNodeWithTag("placesAutocompleteSearchField") .performTextInput("Mountain View") - assertThat(query).isEqualTo("Mountain View") + assert(query == "Mountain View") } @Test @@ -128,9 +128,9 @@ class PlacesAutocompleteTextFieldTest { composeTestRule.onNodeWithText("Googleplex").performClick() - assertThat(selectedPlace).isNotNull() - assertThat(selectedPlace?.placeId).isEqualTo("place_1") - assertThat(selectedPlace?.primaryText.toString()).isEqualTo("Googleplex") + val place = assertNotNull(selectedPlace) + assert(place.placeId == "place_1") + assert(place.primaryText.toString() == "Googleplex") } @Test @@ -149,7 +149,7 @@ class PlacesAutocompleteTextFieldTest { composeTestRule.onNodeWithContentDescription("Clear").performClick() - assertThat(query).isEmpty() + assert(query.isEmpty()) } @Test @@ -169,7 +169,7 @@ class PlacesAutocompleteTextFieldTest { composeTestRule.onNodeWithContentDescription("Back").performClick() - assertThat(backClicked).isTrue() + assert(backClicked) } @Test @@ -223,6 +223,6 @@ class PlacesAutocompleteTextFieldTest { } composeTestRule.onNodeWithText("Googleplex").performClick() - assertThat(placeSelected).isTrue() + assert(placeSelected) } } diff --git a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/data/UnitsTest.kt b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/data/UnitsTest.kt index f26c858..3bdd200 100644 --- a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/data/UnitsTest.kt +++ b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/data/UnitsTest.kt @@ -15,10 +15,10 @@ package com.google.android.libraries.places.compose.autocomplete.data import android.content.res.Resources import com.google.android.libraries.places.compose.R -import com.google.common.truth.Truth.assertThat import io.mockk.every import io.mockk.mockk import org.junit.Test +import kotlin.math.abs /** * Unit tests verifying distance measurement units, unit conversions, and localized formatting. @@ -40,9 +40,9 @@ class UnitsTest { val shortDistance = 100.meters val longDistance = 500.meters - assertThat(shortDistance).isLessThan(longDistance) - assertThat(longDistance).isGreaterThan(shortDistance) - assertThat(100.meters).isEquivalentAccordingToCompareTo(100.meters) + assert(shortDistance < longDistance) + assert(longDistance > shortDistance) + assert(100.meters.compareTo(100.meters) == 0) } @Test @@ -52,7 +52,7 @@ class UnitsTest { val difference = distanceA - distanceB - assertThat(difference.value).isEqualTo(350.0) + assert(difference.value == 350.0) } // ---------------------------------------------------------------------------------- @@ -61,29 +61,29 @@ class UnitsTest { @Test fun numberExtensions_constructMetersEquivalently() { - assertThat(50.meters.value).isEqualTo(50.0) - assertThat(50.m.value).isEqualTo(50.0) + assert(50.meters.value == 50.0) + assert(50.m.value == 50.0) // 1 km = 1,000 meters - assertThat(2.km.value).isEqualTo(2000.0) + assert(2.km.value == 2000.0) // Feet to meters val feetMeters = 328.084.feet - assertThat(feetMeters.toFeet).isWithin(0.1).of(328.084) + assert(abs(feetMeters.toFeet - 328.084) <= 0.1) // Miles to meters val oneMile = 1.0.miles - assertThat(oneMile.toMiles).isWithin(0.001).of(1.0) + assert(abs(oneMile.toMiles - 1.0) <= 0.001) } @Test fun metersExtensions_convertToScalarsCorrectly() { val distance = 1500.meters - assertThat(distance.toMeters).isEqualTo(1500.0) - assertThat(distance.toKilometers).isEqualTo(1.5) - assertThat(distance.toFeet).isWithin(0.01).of(1500.0 * METERS_PER_FOOT) - assertThat(distance.toMiles).isWithin(0.001).of(1500.0 * MILES_PER_METER) + assert(distance.toMeters == 1500.0) + assert(distance.toKilometers == 1.5) + assert(abs(distance.toFeet - 1500.0 * METERS_PER_FOOT) <= 0.01) + assert(abs(distance.toMiles - 1500.0 * MILES_PER_METER) <= 0.001) } // ---------------------------------------------------------------------------------- @@ -93,14 +93,14 @@ class UnitsTest { @Test fun getUnitsConverter_returnsImperialForUnitedStates() { val converter = getUnitsConverter("US") - assertThat(converter).isSameInstanceAs(ImperialUnitsConverter) + assert(converter === ImperialUnitsConverter) } @Test fun getUnitsConverter_returnsMetricForNonUsAndNull() { - assertThat(getUnitsConverter("IN")).isSameInstanceAs(MetricUnitsConverter) - assertThat(getUnitsConverter("GB")).isSameInstanceAs(MetricUnitsConverter) - assertThat(getUnitsConverter(null)).isSameInstanceAs(MetricUnitsConverter) + assert(getUnitsConverter("IN") === MetricUnitsConverter) + assert(getUnitsConverter("GB") === MetricUnitsConverter) + assert(getUnitsConverter(null) === MetricUnitsConverter) } // ---------------------------------------------------------------------------------- @@ -113,8 +113,8 @@ class UnitsTest { val distance = 0.1.miles val result = ImperialUnitsConverter.toDistanceUnits(distance) - assertThat(result.unitsTemplate).isEqualTo(R.string.in_feet) - assertThat(result.value).isWithin(0.1).of(distance.toFeet) + assert(result.unitsTemplate == R.string.in_feet) + assert(abs(result.value - distance.toFeet) <= 0.1) } @Test @@ -122,8 +122,8 @@ class UnitsTest { val distance = 2.5.miles val result = ImperialUnitsConverter.toDistanceUnits(distance) - assertThat(result.unitsTemplate).isEqualTo(R.string.in_miles) - assertThat(result.value).isEqualTo(2.5) + assert(result.unitsTemplate == R.string.in_miles) + assert(result.value == 2.5) } // ---------------------------------------------------------------------------------- @@ -135,8 +135,8 @@ class UnitsTest { val distance = 450.meters val result = MetricUnitsConverter.toDistanceUnits(distance) - assertThat(result.unitsTemplate).isEqualTo(R.string.in_meters) - assertThat(result.value).isEqualTo(450.0) + assert(result.unitsTemplate == R.string.in_meters) + assert(result.value == 450.0) } @Test @@ -144,8 +144,8 @@ class UnitsTest { val distance = 2500.meters val result = MetricUnitsConverter.toDistanceUnits(distance) - assertThat(result.unitsTemplate).isEqualTo(R.string.in_kilometers) - assertThat(result.value).isEqualTo(2.5) + assert(result.unitsTemplate == R.string.in_kilometers) + assert(result.value == 2.5) } @Test @@ -155,9 +155,9 @@ class UnitsTest { every { mockResources.getString(R.string.in_kilometers, *anyVararg()) } returns "2.5 km" val imperialString = ImperialUnitsConverter.toDistanceString(mockResources, 0.1.miles) - assertThat(imperialString).isEqualTo("528 ft") + assert(imperialString == "528 ft") val metricString = MetricUnitsConverter.toDistanceString(mockResources, 2500.meters) - assertThat(metricString).isEqualTo("2.5 km") + assert(metricString == "2.5 km") } } diff --git a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/domain/mappers/AddressMapperTest.kt b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/domain/mappers/AddressMapperTest.kt index f777dd7..67c9aa8 100644 --- a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/domain/mappers/AddressMapperTest.kt +++ b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/domain/mappers/AddressMapperTest.kt @@ -19,8 +19,9 @@ import com.google.android.libraries.places.compose.autocomplete.models.geocoder. import com.google.android.libraries.places.compose.autocomplete.models.geocoder.Location import com.google.android.libraries.places.compose.autocomplete.models.geocoder.PlusCode import com.google.android.libraries.places.compose.autocomplete.models.geocoder.Viewport -import com.google.common.truth.Truth.assertThat import org.junit.Test +import kotlin.test.assertNotNull +import kotlin.test.assertNull /** * Unit tests verifying address component mapping and multimap lookups. @@ -80,13 +81,12 @@ class AddressMapperTest { fun multiMap_groupsByTypesCorrectly() { val multiMap = sampleComponents.toAddressComponentMultiMap() - val country = multiMap[AddressComponentType.COUNTRY] - assertThat(country).isNotNull() - assertThat(country).hasSize(1) - assertThat(country?.first()?.longName).isEqualTo("United States") + val country = assertNotNull(multiMap[AddressComponentType.COUNTRY]) + assert(country.size == 1) + assert(country.first().longName == "United States") val politicalComponents = multiMap.getValue(AddressComponentType.POLITICAL) - assertThat(politicalComponents).hasSize(4) + assert(politicalComponents.size == 4) } @Test @@ -94,13 +94,13 @@ class AddressMapperTest { val multiMap = sampleComponents.toAddressComponentMultiMap() val routeLong = multiMap.longName(AddressComponentType.ROUTE) - assertThat(routeLong).isEqualTo("Amphitheatre Parkway") + assert(routeLong == "Amphitheatre Parkway") val routeShort = multiMap.shortName(AddressComponentType.ROUTE) - assertThat(routeShort).isEqualTo("Amphitheatre Pkwy") + assert(routeShort == "Amphitheatre Pkwy") val politicalShort = multiMap.shortName(AddressComponentType.POLITICAL, separator = ", ") - assertThat(politicalShort).isEqualTo("Mountain View, Santa Clara, CA, US") + assert(politicalShort == "Mountain View, Santa Clara, CA, US") } @Test @@ -108,9 +108,9 @@ class AddressMapperTest { val multiMap = sampleComponents.toAddressComponentMultiMap() val airport = multiMap[AddressComponentType.AIRPORT] - assertThat(airport).isNull() - assertThat(multiMap.longName(AddressComponentType.AIRPORT)).isNull() - assertThat(multiMap.shortName(AddressComponentType.AIRPORT)).isNull() + assertNull(airport) + assertNull(multiMap.longName(AddressComponentType.AIRPORT)) + assertNull(multiMap.shortName(AddressComponentType.AIRPORT)) } // ---------------------------------------------------------------------------------- @@ -122,8 +122,8 @@ class AddressMapperTest { val multiMap = sampleComponents.toAddressComponentMultiMap() val address = multiMap.toAddress() - assertThat(address.countryCode).isEqualTo("US") - assertThat(address.componentMap).isEqualTo(multiMap) + assert(address.countryCode == "US") + assert(address.componentMap == multiMap) } @Test @@ -132,16 +132,16 @@ class AddressMapperTest { val multiMap = componentsWithoutCountry.toAddressComponentMultiMap() val address = multiMap.toAddress() - assertThat(address.countryCode).isEqualTo("US") + assert(address.countryCode == "US") } @Test fun toAddress_fromCollectionAndList_convertsCorrectly() { val addressFromCollection = (sampleComponents as Collection).toAddress() - assertThat(addressFromCollection.countryCode).isEqualTo("US") + assert(addressFromCollection.countryCode == "US") val addressFromList = sampleComponents.toAddress() - assertThat(addressFromList.countryCode).isEqualTo("US") + assert(addressFromList.countryCode == "US") } @Test @@ -164,7 +164,7 @@ class AddressMapperTest { ) val address = addressDto.toAddress("US") - assertThat(address.countryCode).isEqualTo("US") - assertThat(address.componentMap[AddressComponentType.STREET_NUMBER]?.first()?.longName).isEqualTo("1600") + assert(address.countryCode == "US") + assert(address.componentMap[AddressComponentType.STREET_NUMBER]?.first()?.longName == "1600") } } diff --git a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/domain/mappers/PlaceMapperTest.kt b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/domain/mappers/PlaceMapperTest.kt index f8f0e36..37606e9 100644 --- a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/domain/mappers/PlaceMapperTest.kt +++ b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/domain/mappers/PlaceMapperTest.kt @@ -14,8 +14,8 @@ package com.google.android.libraries.places.compose.autocomplete.domain.mappers import com.google.android.libraries.places.api.model.AddressComponent -import com.google.common.truth.Truth.assertThat import org.junit.Test +import kotlin.test.assertNotNull /** * Unit tests verifying conversion of Places SDK [AddressComponent] lists into domain [Address] models. @@ -38,11 +38,10 @@ class PlaceMapperTest { val domainAddress = placesComponents.toAddress() - assertThat(domainAddress.countryCode).isEqualTo("IN") - val countryComponent = domainAddress.componentMap[AddressComponentType.COUNTRY] - assertThat(countryComponent).isNotNull() - assertThat(countryComponent?.first()?.longName).isEqualTo("India") - assertThat(countryComponent?.first()?.shortName).isEqualTo("IN") + assert(domainAddress.countryCode == "IN") + val countryComponent = assertNotNull(domainAddress.componentMap[AddressComponentType.COUNTRY]) + assert(countryComponent.first().longName == "India") + assert(countryComponent.first().shortName == "IN") } @Test @@ -55,7 +54,7 @@ class PlaceMapperTest { val domainAddress = placesComponents.toAddress() - val countryComponent = domainAddress.componentMap[AddressComponentType.COUNTRY] - assertThat(countryComponent?.first()?.shortName).isEmpty() + val countryComponent = assertNotNull(domainAddress.componentMap[AddressComponentType.COUNTRY]) + assert(countryComponent.first().shortName.isEmpty()) } } diff --git a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/AutocompleteMapperTest.kt b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/AutocompleteMapperTest.kt index 0469ce3..3deb809 100644 --- a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/AutocompleteMapperTest.kt +++ b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/AutocompleteMapperTest.kt @@ -16,10 +16,10 @@ package com.google.android.libraries.places.compose.autocomplete.models import android.text.SpannableString import com.google.android.libraries.places.api.model.AutocompletePrediction import com.google.android.libraries.places.compose.autocomplete.data.meters -import com.google.common.truth.Truth.assertThat import io.mockk.every import io.mockk.mockk import org.junit.Test +import kotlin.test.assertNull /** * Unit tests verifying conversion from [AutocompletePrediction] to [AutocompletePlace]. @@ -39,10 +39,10 @@ class AutocompleteMapperTest { val placeDetails = prediction.toPlaceDetails() - assertThat(placeDetails.placeId).isEqualTo("place_xyz") - assertThat(placeDetails.primaryText).isSameInstanceAs(primarySpannable) - assertThat(placeDetails.secondaryText).isSameInstanceAs(secondarySpannable) - assertThat(placeDetails.distance).isEqualTo(1200.meters) + assert(placeDetails.placeId == "place_xyz") + assert(placeDetails.primaryText === primarySpannable) + assert(placeDetails.secondaryText === secondarySpannable) + assert(placeDetails.distance == 1200.meters) } @Test @@ -58,7 +58,7 @@ class AutocompleteMapperTest { val placeDetails = prediction.toPlaceDetails() - assertThat(placeDetails.placeId).isEqualTo("place_no_dist") - assertThat(placeDetails.distance).isNull() + assert(placeDetails.placeId == "place_no_dist") + assertNull(placeDetails.distance) } } diff --git a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/ModelsTest.kt b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/ModelsTest.kt index 9d9b9bc..6b8d748 100644 --- a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/ModelsTest.kt +++ b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/ModelsTest.kt @@ -20,7 +20,6 @@ import com.google.android.libraries.places.compose.autocomplete.data.meters import com.google.android.libraries.places.compose.autocomplete.models.geocoder.Area import com.google.android.libraries.places.compose.autocomplete.models.geocoder.DisplayName import com.google.android.libraries.places.compose.autocomplete.models.geocoder.Landmark -import com.google.common.truth.Truth.assertThat import org.junit.Test /** @@ -54,11 +53,11 @@ class ModelsTest { latLng = latLng, ) - assertThat(place.placeId).isEqualTo("place_123") - assertThat(place.primaryText).isEqualTo(primary) - assertThat(place.secondaryText).isEqualTo(secondary) - assertThat(place.distance).isEqualTo(distance) - assertThat(place.latLng).isEqualTo(latLng) + assert(place.placeId == "place_123") + assert(place.primaryText === primary) + assert(place.secondaryText === secondary) + assert(place.distance == distance) + assert(place.latLng == latLng) } // ---------------------------------------------------------------------------------- @@ -68,21 +67,18 @@ class ModelsTest { @Test fun area_spatialRelationship_resolvesExpectedResource() { val outskirtsArea = createArea(containment = "OUTSKIRTS", name = "City Limits") - assertThat(outskirtsArea.getSpatialRelationshipStringRes()) - .isEqualTo(R.string.spatial_relationship_outskirts_of) + assert(outskirtsArea.getSpatialRelationshipStringRes() == R.string.spatial_relationship_outskirts_of) val withinArea = createArea(containment = "WITHIN", name = "Indiranagar") - assertThat(withinArea.getSpatialRelationshipStringRes()) - .isEqualTo(R.string.spatial_relationship_within) + assert(withinArea.getSpatialRelationshipStringRes() == R.string.spatial_relationship_within) val defaultArea = createArea(containment = "NEAR", name = "Downtown") - assertThat(defaultArea.getSpatialRelationshipStringRes()) - .isEqualTo(R.string.spatial_relationship_near) + assert(defaultArea.getSpatialRelationshipStringRes() == R.string.spatial_relationship_near) val nearbyArea = NearbyObject.NearbyArea(withinArea) - assertThat(nearbyArea.name).isEqualTo("Indiranagar") - assertThat(nearbyArea.placeId).isEqualTo("area_id") - assertThat(nearbyArea.spatialRelationshipStringRes).isEqualTo(R.string.spatial_relationship_within) + assert(nearbyArea.name == "Indiranagar") + assert(nearbyArea.placeId == "area_id") + assert(nearbyArea.spatialRelationshipStringRes == R.string.spatial_relationship_within) } // ---------------------------------------------------------------------------------- @@ -103,7 +99,7 @@ class ModelsTest { for ((relation, expectedResId) in expectedMappings) { val landmark = createLandmark(spatialRelationship = relation, name = "Target Landmark") - assertThat(landmark.getSpatialRelationshipStringRes()).isEqualTo(expectedResId) + assert(landmark.getSpatialRelationshipStringRes() == expectedResId) } } @@ -120,7 +116,7 @@ class ModelsTest { travel = 150.0, ) // When travelDistanceMeters >= 0, returns travelDistanceMeters - assertThat(landmarkPositiveTravel.distanceMeters()).isEqualTo(150.meters) + assert(landmarkPositiveTravel.distanceMeters() == 150.meters) val landmarkNegativeTravel = createLandmark( spatialRelationship = "NEAR", @@ -129,12 +125,12 @@ class ModelsTest { travel = -1.0, ) // When travelDistanceMeters < 0, falls back to straightLineDistanceMeters - assertThat(landmarkNegativeTravel.distanceMeters()).isEqualTo(200.meters) + assert(landmarkNegativeTravel.distanceMeters() == 200.meters) val nearbyLandmark = NearbyObject.NearbyLandmark(landmarkPositiveTravel) - assertThat(nearbyLandmark.name).isEqualTo("Park") - assertThat(nearbyLandmark.placeId).isEqualTo("landmark_id") - assertThat(nearbyLandmark.spatialRelationshipStringRes).isEqualTo(R.string.spatial_relationship_near) + assert(nearbyLandmark.name == "Park") + assert(nearbyLandmark.placeId == "landmark_id") + assert(nearbyLandmark.spatialRelationshipStringRes == R.string.spatial_relationship_near) } // ---------------------------------------------------------------------------------- diff --git a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/geocoder/AddressDtoTest.kt b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/geocoder/AddressDtoTest.kt index e77adf2..da867b1 100644 --- a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/geocoder/AddressDtoTest.kt +++ b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/models/geocoder/AddressDtoTest.kt @@ -13,9 +13,9 @@ // limitations under the License. package com.google.android.libraries.places.compose.autocomplete.models.geocoder -import com.google.common.truth.Truth.assertThat import com.google.gson.Gson import org.junit.Test +import kotlin.test.assertNull class AddressDtoTest { @@ -57,7 +57,7 @@ class AddressDtoTest { types = listOf("street_address"), ) - assertThat(addressDto.getCountryCode()).isEqualTo("IN") + assert(addressDto.getCountryCode() == "IN") } @Test @@ -88,7 +88,7 @@ class AddressDtoTest { types = listOf("locality"), ) - assertThat(addressDto.getCountryCode()).isNull() + assertNull(addressDto.getCountryCode()) } @Test @@ -100,11 +100,11 @@ class AddressDtoTest { plusCode = null, ) - assertThat(response.status).isEqualTo("ZERO_RESULTS") - assertThat(response.errorMessage).isEqualTo("No results found") - assertThat(response.addressDescriptor).isNull() - assertThat(response.plusCode).isNull() - assertThat(response.addresses).isEmpty() + assert(response.status == "ZERO_RESULTS") + assert(response.errorMessage == "No results found") + assertNull(response.addressDescriptor) + assertNull(response.plusCode) + assert(response.addresses.isEmpty()) } @Test @@ -130,15 +130,15 @@ class AddressDtoTest { val json = gson.toJson(descriptor) val deserialized = gson.fromJson(json, AddressDescriptor::class.java) - assertThat(deserialized.areas).hasSize(1) - assertThat(deserialized.areas[0].displayName.text).isEqualTo("Whitefield") - assertThat(deserialized.areas[0].containment).isEqualTo("WITHIN") - assertThat(deserialized.landmarks).hasSize(1) - assertThat(deserialized.landmarks[0].displayName.text).isEqualTo("KTPO Convention Centre") - assertThat(deserialized.landmarks[0].spatialRelationship).isEqualTo("NEAR") - assertThat(deserialized.landmarks[0].straightLineDistanceMeters).isEqualTo(150.0) - assertThat(deserialized.landmarks[0].travelDistanceMeters).isEqualTo(200.0) - assertThat(deserialized.landmarks[0].types).contains("point_of_interest") + assert(deserialized.areas.size == 1) + assert(deserialized.areas[0].displayName.text == "Whitefield") + assert(deserialized.areas[0].containment == "WITHIN") + assert(deserialized.landmarks.size == 1) + assert(deserialized.landmarks[0].displayName.text == "KTPO Convention Centre") + assert(deserialized.landmarks[0].spatialRelationship == "NEAR") + assert(deserialized.landmarks[0].straightLineDistanceMeters == 150.0) + assert(deserialized.landmarks[0].travelDistanceMeters == 200.0) + assert("point_of_interest" in deserialized.landmarks[0].types) } @Test @@ -209,12 +209,12 @@ class AddressDtoTest { val response = gson.fromJson(jsonInput, ReverseGeocodingResponse::class.java) - assertThat(response.status).isEqualTo("OK") - assertThat(response.errorMessage).isNull() - assertThat(response.addresses).hasSize(1) - assertThat(response.addresses[0].getCountryCode()).isEqualTo("IN") - assertThat(response.addressDescriptor?.areas).hasSize(1) - assertThat(response.addressDescriptor?.landmarks).hasSize(1) - assertThat(response.plusCode?.globalCode).isEqualTo("7J4VXHQQ+34") + assert(response.status == "OK") + assertNull(response.errorMessage) + assert(response.addresses.size == 1) + assert(response.addresses[0].getCountryCode() == "IN") + assert(response.addressDescriptor?.areas?.size == 1) + assert(response.addressDescriptor?.landmarks?.size == 1) + assert(response.plusCode?.globalCode == "7J4VXHQQ+34") } } diff --git a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/repositories/AutocompleteRepositoryTest.kt b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/repositories/AutocompleteRepositoryTest.kt index 4985a4f..6180c91 100644 --- a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/repositories/AutocompleteRepositoryTest.kt +++ b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/repositories/AutocompleteRepositoryTest.kt @@ -18,7 +18,6 @@ import com.google.android.libraries.places.api.model.AutocompletePrediction import com.google.android.libraries.places.api.net.FindAutocompletePredictionsRequest import com.google.android.libraries.places.api.net.FindAutocompletePredictionsResponse import com.google.android.libraries.places.api.net.PlacesClient -import com.google.common.truth.Truth.assertThat import io.mockk.every import io.mockk.mockk import kotlinx.coroutines.test.runTest @@ -44,7 +43,6 @@ class AutocompleteRepositoryTest { val repository = AutocompleteRepository(placesClient) val result = repository.getAutocompletePlaces(request) - assertThat(result).hasSize(2) - assertThat(result).containsExactly(prediction1, prediction2).inOrder() + assert(result == listOf(prediction1, prediction2)) } } diff --git a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/utils/attribution/AttributionIdInitializerTest.kt b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/utils/attribution/AttributionIdInitializerTest.kt index 83e422c..a60fc6e 100644 --- a/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/utils/attribution/AttributionIdInitializerTest.kt +++ b/places-compose/src/test/java/com/google/android/libraries/places/compose/autocomplete/utils/attribution/AttributionIdInitializerTest.kt @@ -20,7 +20,6 @@ import android.content.Context import androidx.test.core.app.ApplicationProvider import com.google.android.libraries.places.api.Places import com.google.android.libraries.places.compose.autocomplete.utils.meta.AttributionId -import com.google.common.truth.Truth.assertThat import io.mockk.every import io.mockk.just import io.mockk.mockkStatic @@ -61,6 +60,6 @@ class AttributionIdInitializerTest { @Test fun dependencies_returnsEmptyList() { val initializer = AttributionIdInitializer() - assertThat(initializer.dependencies()).isEmpty() + assert(initializer.dependencies().isEmpty()) } }