Add PassiveListenerService test with ExerciseInfo
Previously we were only exercising when ExerciseInfo was null.
Test: ./gradlew :health:health-services-client:test
Change-Id: I5c74c67c2da5bb1ef9e11f4899989dd252d90a91
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt
index a4479a2..fd4487f 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt
@@ -28,11 +28,15 @@
import androidx.health.services.client.data.DataType
import androidx.health.services.client.data.DataType.Companion.STEPS_DAILY
import androidx.health.services.client.data.DataTypeCondition
+import androidx.health.services.client.data.ExerciseInfo
+import androidx.health.services.client.data.ExerciseTrackedStatus
+import androidx.health.services.client.data.ExerciseType
import androidx.health.services.client.data.HealthEvent
import androidx.health.services.client.data.HealthEvent.Type.Companion.FALL_DETECTED
import androidx.health.services.client.data.PassiveGoal
import androidx.health.services.client.data.PassiveMonitoringUpdate
import androidx.health.services.client.data.UserActivityInfo
+import androidx.health.services.client.data.UserActivityState.Companion.USER_ACTIVITY_EXERCISE
import androidx.health.services.client.data.UserActivityState.Companion.USER_ACTIVITY_PASSIVE
import androidx.health.services.client.impl.IPassiveListenerService
import androidx.health.services.client.impl.event.PassiveListenerEvent
@@ -131,6 +135,41 @@
}
@Test
+ fun receivesUserActivityStateWithExerciseInfo() {
+ context.bindService(
+ Intent(context, FakeService::class.java),
+ connection,
+ Context.BIND_AUTO_CREATE
+ )
+ val listenerEvent = PassiveListenerEvent.createPassiveUpdateResponse(
+ PassiveMonitoringUpdateResponse(
+ PassiveMonitoringUpdate(
+ DataPointContainer(listOf()),
+ listOf(
+ UserActivityInfo(
+ USER_ACTIVITY_EXERCISE,
+ ExerciseInfo(
+ ExerciseTrackedStatus.OWNED_EXERCISE_IN_PROGRESS,
+ ExerciseType.RUNNING
+ ),
+ 42.instant()
+ )
+ )
+ )
+ )
+ )
+
+ stub.onPassiveListenerEvent(listenerEvent)
+
+ val activityInfo = service.userActivityReceived!!
+ assertThat(activityInfo.userActivityState).isEqualTo(USER_ACTIVITY_EXERCISE)
+ assertThat(activityInfo.stateChangeTime).isEqualTo(42.instant())
+ assertThat(activityInfo.exerciseInfo!!.exerciseType).isEqualTo(ExerciseType.RUNNING)
+ assertThat(activityInfo.exerciseInfo!!.exerciseTrackedStatus)
+ .isEqualTo(ExerciseTrackedStatus.OWNED_EXERCISE_IN_PROGRESS)
+ }
+
+ @Test
fun receivesGoalCompleted() {
context.bindService(
Intent(context, FakeService::class.java),