From 7299c63c60180cf6ba3d0ff649e5c2fae743e483 Mon Sep 17 00:00:00 2001 From: Sarah Lensing Date: Mon, 20 Jun 2016 16:25:40 -0400 Subject: [PATCH] Add test for toggling engines --- .../internal/FusedLocationProviderApiImpl.java | 18 ++++++++++-------- .../FusedLocationProviderApiImplTest.java | 14 ++++++++++++-- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/lost/src/main/java/com/mapzen/android/lost/internal/FusedLocationProviderApiImpl.java b/lost/src/main/java/com/mapzen/android/lost/internal/FusedLocationProviderApiImpl.java index 6ca11b7..29507c2 100644 --- a/lost/src/main/java/com/mapzen/android/lost/internal/FusedLocationProviderApiImpl.java +++ b/lost/src/main/java/com/mapzen/android/lost/internal/FusedLocationProviderApiImpl.java @@ -8,6 +8,7 @@ import android.content.Context; import android.location.Location; import android.os.Looper; +import android.support.annotation.VisibleForTesting; import java.io.File; import java.util.ArrayList; @@ -123,14 +124,6 @@ public void shutdown() { shutdownAllEngines(); } - public List getListeners() { - List listeners = new ArrayList<>(); - for (LocationEngine engine : engineListeners.keySet()) { - listeners.addAll(engineListeners.get(engine)); - } - return listeners; - } - /** * First checks for an existing {@link LocationEngine} given a request. Creates a new one if * none exist. @@ -232,4 +225,13 @@ private void shutdownAllEngines() { } locationEngines.clear(); } + + @VisibleForTesting + public List getListeners() { + List listeners = new ArrayList<>(); + for (LocationEngine engine : engineListeners.keySet()) { + listeners.addAll(engineListeners.get(engine)); + } + return listeners; + } } diff --git a/lost/src/test/java/com/mapzen/android/lost/internal/FusedLocationProviderApiImplTest.java b/lost/src/test/java/com/mapzen/android/lost/internal/FusedLocationProviderApiImplTest.java index 4d771f1..f6e61c9 100644 --- a/lost/src/test/java/com/mapzen/android/lost/internal/FusedLocationProviderApiImplTest.java +++ b/lost/src/test/java/com/mapzen/android/lost/internal/FusedLocationProviderApiImplTest.java @@ -203,12 +203,12 @@ public void removeLocationUpdates_shouldUnregisterAllListeners() throws Exceptio } @Test - public void setMockMode_shouldToggleAllListenersWhenTrue() throws Exception { + public void setMockMode_shouldUnregisterAllListenersWhenTrue() throws Exception { TestLocationListener listener = new TestLocationListener(); LocationRequest request = LocationRequest.create(); api.requestLocationUpdates(request, listener); api.setMockMode(true); - assertThat(api.getListeners()).hasSize(1); + assertThat(shadowLocationManager.getRequestLocationUpdateListeners()).isEmpty(); } @Test @@ -219,6 +219,16 @@ public void setMockMode_shouldNotRegisterDuplicateListeners() throws Exception { api.requestLocationUpdates(request, listener); api.setMockMode(false); api.requestLocationUpdates(request, listener); + assertThat(shadowLocationManager.getRequestLocationUpdateListeners()).hasSize(4); + } + + @Test + public void setMockMode_shouldToggleEngines() { + TestLocationListener listener = new TestLocationListener(); + LocationRequest request = LocationRequest.create(); + api.requestLocationUpdates(request, listener); + api.setMockMode(true); + api.requestLocationUpdates(request, listener); assertThat(api.getListeners()).hasSize(2); }