some strings and tests broken
This commit is contained in:
parent
cfdc59c983
commit
55e6246646
3 changed files with 65 additions and 8 deletions
|
@ -68,7 +68,6 @@ public class TriggerLocation extends Trigger {
|
|||
@Override
|
||||
public synchronized boolean shouldRun() {
|
||||
Location location = LocationService.getLastLocation();
|
||||
log.debug("Entered shouldRun()");
|
||||
if (location == null)
|
||||
return false;
|
||||
|
||||
|
@ -203,4 +202,21 @@ public class TriggerLocation extends Trigger {
|
|||
else
|
||||
return OUTSIDE;
|
||||
}
|
||||
|
||||
double calculateDistance() {
|
||||
Location location = LocationService.getLastLocation();
|
||||
if (location == null)
|
||||
return -1d;
|
||||
Location a = new Location("Trigger");
|
||||
a.setLatitude(latitude.getValue());
|
||||
a.setLongitude(longitude.getValue());
|
||||
return location.distanceTo(a);
|
||||
}
|
||||
|
||||
String getLocation(){
|
||||
Location location = LocationService.getLastLocation();
|
||||
if (location == null)
|
||||
return "No service!";
|
||||
return location.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1410,12 +1410,12 @@
|
|||
<string name="longitude_short">Lon:</string>
|
||||
<string name="distance_short">Dist [m]:</string>
|
||||
<string name="name_short">Name:</string>
|
||||
<string name="locationis">Location is %1$s %2$s</string>
|
||||
<string name="location_mode">In/Out of defined area</string>
|
||||
<string name="location_inside">inside</string>
|
||||
<string name="location_outside">outside</string>
|
||||
<string name="location_going_in">when you enter the area named</string>
|
||||
<string name="location_going_out">when you leave the area named</string>
|
||||
<string name="locationis">%1$s %2$s</string>
|
||||
<string name="location_mode">When </string>
|
||||
<string name="location_inside">When you are inside the area</string>
|
||||
<string name="location_outside">When you are inside the area</string>
|
||||
<string name="location_going_in">When you enter the area named</string>
|
||||
<string name="location_going_out">When you leave the area named</string>
|
||||
<string name="lastboluslabel">Last bolus ago</string>
|
||||
<string name="lastboluscompared">Last bolus time %1$s %2$s min ago</string>
|
||||
<string name="triggercoblabel">COB</string>
|
||||
|
|
|
@ -91,6 +91,33 @@ public class TriggerLocationTest {
|
|||
t = new TriggerLocation();
|
||||
t.distance.setValue(-500);
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
|
||||
//Test of GOING_IN - last mode should be OUTSIDE, and current mode should be INSIDE
|
||||
t = new TriggerLocation();
|
||||
t.distance.setValue(50);
|
||||
t.lastMode = t.currentMode(55d);
|
||||
PowerMockito.when(LocationService.getLastLocation()).thenReturn(null);
|
||||
PowerMockito.when(LocationService.getLastLocation()).thenReturn(mockedLocationOut());
|
||||
t.modeSelected.setValue(InputLocationMode.Mode.GOING_IN);
|
||||
Assert.assertEquals(t.lastMode, InputLocationMode.Mode.OUTSIDE);
|
||||
Assert.assertEquals(t.currentMode(5d), InputLocationMode.Mode.INSIDE);
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
|
||||
//Test of GOING_OUT - last mode should be INSIDE, and current mode should be OUTSIDE
|
||||
t = new TriggerLocation();
|
||||
t.latitude.setValue(213);
|
||||
t.longitude.setValue(212);
|
||||
t.distance.setValue(2d);
|
||||
t.lastMode = t.currentMode(1d);
|
||||
|
||||
PowerMockito.when(LocationService.getLastLocation()).thenReturn(mockedLocation());
|
||||
t.modeSelected.setValue(InputLocationMode.Mode.GOING_OUT);
|
||||
Assert.assertEquals(t.lastMode, InputLocationMode.Mode.INSIDE);
|
||||
Assert.assertEquals(t.currentMode(55d), InputLocationMode.Mode.OUTSIDE);
|
||||
PowerMockito.when(LocationService.getLastLocation()).thenReturn(null);
|
||||
PowerMockito.when(LocationService.getLastLocation()).thenReturn(mockedLocationOut());
|
||||
Assert.assertEquals(-1d, t.calculateDistance(), 0d);
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
}
|
||||
|
||||
String locationJson = "{\"data\":{\"mode\":\"OUTSIDE\",\"distance\":2,\"lastRun\":0,\"latitude\":213,\"name\":\"\",\"longitude\":212},\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerLocation\"}";
|
||||
|
@ -111,7 +138,6 @@ public class TriggerLocationTest {
|
|||
t.latitude.setValue(213);
|
||||
t.longitude.setValue(212);
|
||||
t.distance.setValue(2);
|
||||
// t.setMode(t.stringToMode(new InputSelect(modes).getValue()));
|
||||
t.modeSelected.setValue(InputLocationMode.Mode.INSIDE);
|
||||
|
||||
TriggerLocation t2 = (TriggerLocation) Trigger.instantiate(new JSONObject(t.toJSON()));
|
||||
|
@ -172,6 +198,13 @@ public class TriggerLocationTest {
|
|||
Assert.assertEquals(t.lastRun, 1514766900000L, 0d);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getLocationTest() {
|
||||
PowerMockito.when(LocationService.getLastLocation()).thenReturn(mockedLocationOut());
|
||||
TriggerLocation t = new TriggerLocation();
|
||||
Assert.assertEquals("", t.getLocation());
|
||||
}
|
||||
|
||||
public Location mockedLocation() {
|
||||
Location newLocation = new Location("test");
|
||||
newLocation.setLatitude(10);
|
||||
|
@ -179,4 +212,12 @@ public class TriggerLocationTest {
|
|||
newLocation.setAccuracy(1f);
|
||||
return newLocation;
|
||||
}
|
||||
|
||||
public Location mockedLocationOut() {
|
||||
Location newLocation = new Location("test");
|
||||
newLocation.setLatitude(12f);
|
||||
newLocation.setLongitude(13f);
|
||||
newLocation.setAccuracy(1f);
|
||||
return newLocation;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue