Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import android.widget.Toast
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.graphics.Insets
import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
Expand All @@ -44,10 +43,14 @@ import com.google.maps.android.collections.GroundOverlayManager
import com.google.maps.android.collections.MarkerManager
import com.google.maps.android.collections.PolygonManager
import com.google.maps.android.collections.PolylineManager
import com.google.maps.android.data.Renderer.ImagesCache
import com.google.maps.android.data.geojson.GeoJsonLineStringStyle
import com.google.maps.android.data.geojson.GeoJsonPolygonStyle
import com.google.maps.android.ktx.*
import com.google.maps.android.ktx.awaitAnimateCamera
import com.google.maps.android.ktx.awaitMap
import com.google.maps.android.ktx.awaitMapLoad
import com.google.maps.android.ktx.awaitSnapshot
import com.google.maps.android.ktx.cameraIdleEvents
import com.google.maps.android.ktx.cameraMoveStartedEvents
import com.google.maps.android.ktx.demo.io.MyItemReader
import com.google.maps.android.ktx.demo.model.CacheViewModel
import com.google.maps.android.ktx.demo.model.MyItem
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import com.google.maps.android.ktx.demo.model.MyItem
import org.json.JSONArray
import org.json.JSONException
import java.io.InputStream
import java.util.*
import java.util.Scanner

/**
* Helper class to read in cluster items from a resource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
import com.vanniktech.maven.publish.MavenPublishBaseExtension
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.*
import org.gradle.testing.jacoco.plugins.JacocoPluginExtension
import org.gradle.api.tasks.testing.Test
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.withType
import org.gradle.testing.jacoco.plugins.JacocoTaskExtension

class PublishingConventionPlugin : Plugin<Project> {
Expand Down
2 changes: 2 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ junit = "4.13.2"
mockito = "5.21.0"
mockitoInline = "5.2.0"
mockitoKotlin = "2.2.0"
truth = "1.4.5"

# --- Gradle Plugins ---
# Versions for Gradle plugins used in the build process.
Expand Down Expand Up @@ -68,6 +69,7 @@ junit = { group = "junit", name = "junit", version.ref = "junit" }
mockito-core = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" }
mockito-inline = { group = "org.mockito", name = "mockito-inline", version.ref = "mockitoInline" }
mockito-kotlin = { group = "com.nhaarman.mockitokotlin2", name = "mockito-kotlin", version.ref = "mockitoKotlin" }
truth = { group = "com.google.truth", name = "truth", version.ref = "truth" }

# --- Gradle ---
android-gradle-plugin = { module = "com.android.tools.build:gradle", version.ref = "agp" }
Expand Down
1 change: 1 addition & 0 deletions maps-ktx/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ dependencies {
testImplementation(libs.mockito.core)
testImplementation(libs.mockito.kotlin)
testImplementation(libs.mockito.inline)
testImplementation(libs.truth)
testImplementation(libs.kotlinx.coroutines.test)
}

Expand Down
23 changes: 21 additions & 2 deletions maps-ktx/src/main/java/com/google/maps/android/ktx/GoogleMap.kt
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,27 @@ import androidx.annotation.IntDef
import com.google.android.gms.maps.CameraUpdate
import com.google.android.gms.maps.GoogleMap
import com.google.android.gms.maps.GoogleMapOptions
import com.google.android.gms.maps.model.*
import com.google.maps.android.ktx.model.*
import com.google.android.gms.maps.model.Circle
import com.google.android.gms.maps.model.CircleOptions
import com.google.android.gms.maps.model.GroundOverlay
import com.google.android.gms.maps.model.GroundOverlayOptions
import com.google.android.gms.maps.model.IndoorBuilding
import com.google.android.gms.maps.model.LatLng
import com.google.android.gms.maps.model.Marker
import com.google.android.gms.maps.model.MarkerOptions
import com.google.android.gms.maps.model.PointOfInterest
import com.google.android.gms.maps.model.Polygon
import com.google.android.gms.maps.model.PolygonOptions
import com.google.android.gms.maps.model.Polyline
import com.google.android.gms.maps.model.PolylineOptions
import com.google.android.gms.maps.model.TileOverlay
import com.google.android.gms.maps.model.TileOverlayOptions
import com.google.maps.android.ktx.model.circleOptions
import com.google.maps.android.ktx.model.groundOverlayOptions
import com.google.maps.android.ktx.model.markerOptions
import com.google.maps.android.ktx.model.polygonOptions
import com.google.maps.android.ktx.model.polylineOptions
import com.google.maps.android.ktx.model.tileOverlayOptions
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.callbackFlow
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import org.mockito.Mock
import org.mockito.Mockito.verify
import org.mockito.Mockito
import org.mockito.junit.MockitoJUnitRunner
import org.junit.Assert.assertNotNull
import com.google.common.truth.Truth.assertThat
import org.junit.After
import org.junit.Before
import org.mockito.MockedStatic
Expand Down Expand Up @@ -65,7 +65,7 @@ public class GoogleMapTest {
public fun testCameraIdleEvents(): Unit = runTest {
val job = launch {
val event = googleMap.cameraIdleEvents().first()
assertNotNull(event)
assertThat(event).isNotNull()
}
advanceUntilIdle()
verify(googleMap).setOnCameraIdleListener(cameraIdleListener.capture())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
package com.google.maps.android.ktx.model

import com.google.android.gms.maps.model.LatLng
import org.junit.Assert.assertEquals
import com.google.common.truth.Truth.assertThat
import org.junit.Test

internal class CameraPositionTest {
Expand All @@ -31,9 +31,9 @@ internal class CameraPositionTest {
tilt(1f)
zoom(12f)
}
assertEquals(1f, cameraPosition.bearing, 1e-6f)
assertEquals(LatLng(1.0, 2.0), cameraPosition.target)
assertEquals(1f, cameraPosition.tilt, 1e-6f)
assertEquals(12f, cameraPosition.zoom, 1e-6f)
assertThat(cameraPosition.bearing).isWithin(1e-6f).of(1f)
assertThat(cameraPosition.target).isEqualTo(LatLng(1.0, 2.0))
assertThat(cameraPosition.tilt).isWithin(1e-6f).of(1f)
assertThat(cameraPosition.zoom).isWithin(1e-6f).of(12f)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@
package com.google.maps.android.ktx.model

import com.google.android.gms.maps.model.LatLng
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import com.google.common.truth.Truth.assertThat
import org.junit.Test

internal class CircleOptionsTest {
Expand All @@ -36,13 +35,13 @@ internal class CircleOptionsTest {
visible(true)
zIndex(1f)
}
assertEquals(LatLng(0.0, 0.0), circleOptions.center)
assertTrue(circleOptions.isClickable)
assertEquals(0, circleOptions.fillColor)
assertEquals(1.23, circleOptions.radius, 1e-6)
assertEquals(1, circleOptions.strokeColor)
assertEquals(2f, circleOptions.strokeWidth)
assertTrue(circleOptions.isVisible)
assertEquals(1f, circleOptions.zIndex, 1e-6f)
assertThat(circleOptions.center).isEqualTo(LatLng(0.0, 0.0))
assertThat(circleOptions.isClickable).isTrue()
assertThat(circleOptions.fillColor).isEqualTo(0)
assertThat(circleOptions.radius).isWithin(1e-6).of(1.23)
assertThat(circleOptions.strokeColor).isEqualTo(1)
assertThat(circleOptions.strokeWidth).isEqualTo(2f)
assertThat(circleOptions.isVisible).isTrue()
assertThat(circleOptions.zIndex).isWithin(1e-6f).of(1f)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@
package com.google.maps.android.ktx.model

import com.google.android.gms.maps.model.BitmapDescriptor
import com.google.common.truth.Truth.assertThat
import com.nhaarman.mockitokotlin2.mock
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test

internal class GroundOverlayOptionsTest {
Expand All @@ -35,10 +34,10 @@ internal class GroundOverlayOptionsTest {
transparency(0.5f)
visible(true)
}
assertEquals(descriptor, groundOverlayOptions.image)
assertEquals(1f, groundOverlayOptions.bearing, 1e-6f)
assertTrue(groundOverlayOptions.isClickable)
assertEquals(0.5f, groundOverlayOptions.transparency, 1e-6f)
assertTrue(groundOverlayOptions.isVisible)
assertThat(groundOverlayOptions.image).isEqualTo(descriptor)
assertThat(groundOverlayOptions.bearing).isWithin(1e-6f).of(1f)
assertThat(groundOverlayOptions.isClickable).isTrue()
assertThat(groundOverlayOptions.transparency).isWithin(1e-6f).of(0.5f)
assertThat(groundOverlayOptions.isVisible).isTrue()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,7 @@
package com.google.maps.android.ktx.model

import com.google.android.gms.maps.model.LatLng
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import com.google.common.truth.Truth.assertThat
import org.junit.Test

internal class MarkerOptionsTest {
Expand All @@ -36,12 +34,12 @@ internal class MarkerOptionsTest {
snippet("Snippet")
visible(true)
}
assertEquals(LatLng(1.0, 2.0), markerOptions.position)
assertEquals(0.5f, markerOptions.alpha, 1e-6f)
assertFalse(markerOptions.isDraggable)
assertTrue(markerOptions.isFlat)
assertEquals("Test", markerOptions.title)
assertEquals("Snippet", markerOptions.snippet)
assertTrue(markerOptions.isVisible)
assertThat(markerOptions.position).isEqualTo(LatLng(1.0, 2.0))
assertThat(markerOptions.alpha).isWithin(1e-6f).of(0.5f)
assertThat(markerOptions.isDraggable).isFalse()
assertThat(markerOptions.isFlat).isTrue()
assertThat(markerOptions.title).isEqualTo("Test")
assertThat(markerOptions.snippet).isEqualTo("Snippet")
assertThat(markerOptions.isVisible).isTrue()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package com.google.maps.android.ktx.model

import android.graphics.Color
import com.google.android.gms.maps.model.LatLng
import org.junit.Assert.assertEquals
import com.google.common.truth.Truth.assertThat
import org.junit.Test

internal class PolygonOptionsTest {
Expand All @@ -31,8 +31,8 @@ internal class PolygonOptionsTest {
strokeColor(Color.BLACK)
add(LatLng(1.0, 2.0))
}
assertEquals(1.0f, polygonOptions.strokeWidth, 1e-6f)
assertEquals(Color.BLACK, polygonOptions.strokeColor)
assertEquals(listOf(LatLng(1.0, 2.0)), polygonOptions.points)
assertThat(polygonOptions.strokeWidth).isWithin(1e-6f).of(1.0f)
assertThat(polygonOptions.strokeColor).isEqualTo(Color.BLACK)
assertThat(polygonOptions.points).containsExactly(LatLng(1.0, 2.0))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@
package com.google.maps.android.ktx.model

import com.google.android.gms.maps.model.LatLng
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import com.google.common.truth.Truth.assertThat
import org.junit.Test

internal class PolylineOptionsTest {
Expand All @@ -33,10 +32,10 @@ internal class PolylineOptionsTest {
geodesic(true)
width(1f)
}
assertEquals(listOf(LatLng(1.0, 2.0)), polylineOptions.points)
assertTrue(polylineOptions.isClickable)
assertEquals(0, polylineOptions.color)
assertTrue(polylineOptions.isGeodesic)
assertEquals(1f, polylineOptions.width, 1e-6f)
assertThat(polylineOptions.points).containsExactly(LatLng(1.0, 2.0))
assertThat(polylineOptions.isClickable).isTrue()
assertThat(polylineOptions.color).isEqualTo(0)
assertThat(polylineOptions.isGeodesic).isTrue()
assertThat(polylineOptions.width).isWithin(1e-6f).of(1f)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

package com.google.maps.android.ktx.model

import org.junit.Assert.assertEquals
import com.google.common.truth.Truth.assertThat
import org.junit.Test

internal class StreetViewPanoramaCameraTest {
Expand All @@ -29,8 +29,8 @@ internal class StreetViewPanoramaCameraTest {
tilt(20f)
zoom(2f)
}
assertEquals(1f, camera.bearing, 1e-6f)
assertEquals(20f, camera.tilt, 1e-6f)
assertEquals(2f, camera.zoom, 1e-6f)
assertThat(camera.bearing).isWithin(1e-6f).of(1f)
assertThat(camera.tilt).isWithin(1e-6f).of(20f)
assertThat(camera.zoom).isWithin(1e-6f).of(2f)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

package com.google.maps.android.ktx.model

import org.junit.Assert.assertEquals
import com.google.common.truth.Truth.assertThat
import org.junit.Test

internal class StreetViewPanoramaOrientationTest {
Expand All @@ -28,7 +28,7 @@ internal class StreetViewPanoramaOrientationTest {
bearing(1f)
tilt(20f)
}
assertEquals(1f, orientation.bearing, 1e-6f)
assertEquals(20f, orientation.tilt, 1e-6f)
assertThat(orientation.bearing).isWithin(1e-6f).of(1f)
assertThat(orientation.tilt).isWithin(1e-6f).of(20f)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@

package com.google.maps.android.ktx.model

import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import com.google.common.truth.Truth.assertThat
import org.junit.Test

internal class TileOverlayOptionsTest {
Expand All @@ -32,9 +30,9 @@ internal class TileOverlayOptionsTest {
visible(false)
zIndex(1f)
}
assertTrue(tileOverlayOptions.fadeIn)
assertFalse(tileOverlayOptions.isVisible)
assertEquals(0.5f, tileOverlayOptions.transparency, 1e-6f)
assertEquals(1f, tileOverlayOptions.zIndex, 1e-6f)
assertThat(tileOverlayOptions.fadeIn).isTrue()
assertThat(tileOverlayOptions.isVisible).isFalse()
assertThat(tileOverlayOptions.transparency).isWithin(1e-6f).of(0.5f)
assertThat(tileOverlayOptions.zIndex).isWithin(1e-6f).of(1f)
}
}
1 change: 1 addition & 0 deletions maps-utils-ktx/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,5 @@ dependencies {
testImplementation(libs.mockito.core)
testImplementation(libs.mockito.kotlin)
testImplementation(libs.mockito.inline)
testImplementation(libs.truth)
}
Loading
Loading