From dd79e93a092b6424e00e746b3f351fa4934cab7e Mon Sep 17 00:00:00 2001
From: Andrei Bechet <andrei.bechet@esrlabs.com>
Date: Thu, 18 Jun 2015 16:39:06 +0200
Subject: [PATCH] refactoring of GeofenceTestApp

---
 .../com/esrlabs/geofence/GeofenceAppTest.java | 31 +++++++------------
 1 file changed, 12 insertions(+), 19 deletions(-)

diff --git a/2015/android/Geofence/app/src/test/java/com/esrlabs/geofence/GeofenceAppTest.java b/2015/android/Geofence/app/src/test/java/com/esrlabs/geofence/GeofenceAppTest.java
index 2b6dbec..328d66a 100644
--- a/2015/android/Geofence/app/src/test/java/com/esrlabs/geofence/GeofenceAppTest.java
+++ b/2015/android/Geofence/app/src/test/java/com/esrlabs/geofence/GeofenceAppTest.java
@@ -1,32 +1,26 @@
 package com.esrlabs.geofence;
 
 import static com.esrlabs.geofence.GeofenceApp.CAN_PROVIDER;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 import static org.robolectric.Shadows.shadowOf;
 
-import android.app.Service;
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
 import android.location.Location;
 import android.location.LocationManager;
 import android.os.IBinder;
 import android.os.RemoteException;
-import android.test.ServiceTestCase;
+
+import junit.framework.TestCase;
 
 import com.esrlabs.headunitinterface.HeadUnit;
 
-import junit.framework.TestCase;
 
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
 import org.robolectric.RobolectricGradleTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowLocationManager;
 
@@ -38,18 +32,18 @@ import esrlabs.com.geofence.BuildConfig;
 @RunWith(RobolectricGradleTestRunner.class)
 @Config(constants = BuildConfig.class, emulateSdk = 17)
 public class GeofenceAppTest extends TestCase {
-
-    public final LocationManager locationManager = (LocationManager)
+    private final LocationManager locationManager = (LocationManager)
             RuntimeEnvironment.application.getSystemService(Context.LOCATION_SERVICE);
-    private GeofenceApp geofenceApp;
-
-    final AtomicBoolean notificationVisibility = new AtomicBoolean(false);
+    private final ShadowLocationManager shadowLocationManager = shadowOf(locationManager);
     private final Location someLocation = location(CAN_PROVIDER, 12.0, 20.0);
+    private final AtomicBoolean notificationVisibility = new AtomicBoolean(false);
+
+    private GeofenceApp geofenceApp;
 
     @Before
     public void setUp() throws Exception {
         initHeadUnitServiceMock();
-        setupMyService();
+        setupGeofenceApp();
     }
 
     @After
@@ -70,25 +64,25 @@ public class GeofenceAppTest extends TestCase {
 //        assertTrue(locationInsideTheGeofence.equals(mainService.latestLocation()));
 //        assertFalse(notificationVisibility.get());
 
-        Location locationOutsideTheGeofence = location(CAN_PROVIDER, 11, 11);
+        Location locationOutsideTheGeofence = location(CAN_PROVIDER, 11, 11); // todo: put real vals
         simulateNewLocation(locationOutsideTheGeofence);
         assertTrue(locationOutsideTheGeofence.equals(geofenceApp.latestLocation()));
         assertTrue(notificationVisibility.get());
     }
 
-    private void setupMyService() {
+    private void setupGeofenceApp() {
         GeofenceApp service = new GeofenceApp(locationManager);
         service.onCreate();
         geofenceApp = service;
     }
 
     private void initHeadUnitServiceMock() {
-        IBinder headUnitStub = getHeadUnitServiceBinder();
+        IBinder headUnitStub = newTestHeadUnitServerBinder();
         shadowOf(RuntimeEnvironment.application).setComponentNameAndServiceForBindService(
                 new ComponentName("com.esrlabs.headunitinterface", "HeadUnit"), headUnitStub);
     }
 
-    private IBinder getHeadUnitServiceBinder() {
+    private IBinder newTestHeadUnitServerBinder() {
         return new HeadUnit.Stub() {
                 @Override
                 public void showNotification(String text) throws RemoteException {
@@ -103,7 +97,6 @@ public class GeofenceAppTest extends TestCase {
     }
 
     private void simulateNewLocation(Location someLocation) {
-        ShadowLocationManager shadowLocationManager = shadowOf(locationManager);
         shadowLocationManager.simulateLocation(someLocation);
     }