Fix tests
This commit is contained in:
parent
6fb4de6752
commit
7659f58776
|
@ -98,8 +98,12 @@ public class TriggerTime extends Trigger {
|
|||
long validTo;
|
||||
|
||||
public TriggerTime() {
|
||||
setAll(false);
|
||||
}
|
||||
|
||||
public void setAll(boolean value) {
|
||||
for(DayOfWeek day : DayOfWeek.values()) {
|
||||
set(day, false);
|
||||
set(day, value);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,58 +0,0 @@
|
|||
package info.nightscout.androidaps.plugins.general.automation.triggers;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
|
||||
@RunWith(PowerMockRunner.class)
|
||||
@PrepareForTest({})
|
||||
public class TriggerAndTest {
|
||||
|
||||
@Test
|
||||
public void doTests() {
|
||||
TriggerAnd t = new TriggerAnd();
|
||||
TriggerAnd t2 = new TriggerAnd();
|
||||
TriggerAnd t3 = new TriggerAnd();
|
||||
|
||||
Assert.assertTrue(t.size() == 0);
|
||||
|
||||
t.add(t2);
|
||||
Assert.assertTrue(t.size() == 1);
|
||||
Assert.assertEquals(t2, t.get(0));
|
||||
|
||||
t.add(t3);
|
||||
Assert.assertTrue(t.size() == 2);
|
||||
Assert.assertEquals(t2, t.get(0));
|
||||
Assert.assertEquals(t3, t.get(1));
|
||||
|
||||
Assert.assertTrue(t.remove(t2));
|
||||
Assert.assertTrue(t.size() == 1);
|
||||
Assert.assertEquals(t3, t.get(0));
|
||||
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
}
|
||||
|
||||
String empty = "{\"data\":\"[]\",\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerAnd\"}";
|
||||
String oneItem = "{\"data\":\"[\\\"{\\\\\\\"data\\\\\\\":\\\\\\\"[]\\\\\\\",\\\\\\\"type\\\\\\\":\\\\\\\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerAnd\\\\\\\"}\\\"]\",\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerAnd\"}";
|
||||
|
||||
@Test
|
||||
public void toJSONTest() {
|
||||
TriggerAnd t = new TriggerAnd();
|
||||
Assert.assertEquals(empty, t.toJSON());
|
||||
t.add(new TriggerAnd());
|
||||
Assert.assertEquals(oneItem, t.toJSON());
|
||||
}
|
||||
@Test
|
||||
public void fromJSONTest() throws JSONException {
|
||||
TriggerAnd t = new TriggerAnd();
|
||||
t.add(new TriggerAnd());
|
||||
|
||||
TriggerAnd t2 = (TriggerAnd) Trigger.instantiate(new JSONObject(t.toJSON()));
|
||||
Assert.assertEquals(1, t2.size());
|
||||
Assert.assertTrue(t2.get(0) instanceof TriggerAnd);
|
||||
}
|
||||
}
|
|
@ -36,46 +36,46 @@ public class TriggerBgTest {
|
|||
public void shouldRunTest() {
|
||||
when(MainApp.getDbHelper().getBgreadingsDataFromTime(anyLong(), anyBoolean())).thenReturn(generateOneCurrentRecordBgData());
|
||||
|
||||
TriggerBg t = new TriggerBg().units(Constants.MMOL).threshold(4.1d).comparator(Trigger.ISEQUAL);
|
||||
TriggerBg t = new TriggerBg().units(Constants.MMOL).threshold(4.1d).comparator(Trigger.Comparator.IS_EQUAL);
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(214).comparator(Trigger.ISEQUAL);
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(214).comparator(Trigger.Comparator.IS_EQUAL);
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(214).comparator(Trigger.ISEQUALORGREATER);
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(214).comparator(Trigger.Comparator.IS_EQUAL_OR_GREATER);
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(214).comparator(Trigger.ISEQUALORLOWER);
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(214).comparator(Trigger.Comparator.IS_EQUAL_OR_LOWER);
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(215).comparator(Trigger.ISEQUAL);
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(215).comparator(Trigger.Comparator.IS_EQUAL);
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(215).comparator(Trigger.ISEQUALORLOWER);
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(215).comparator(Trigger.Comparator.IS_EQUAL_OR_LOWER);
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(215).comparator(Trigger.ISEQUALORGREATER);
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(215).comparator(Trigger.Comparator.IS_EQUAL_OR_GREATER);
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(213).comparator(Trigger.ISEQUALORGREATER);
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(213).comparator(Trigger.Comparator.IS_EQUAL_OR_GREATER);
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(213).comparator(Trigger.ISEQUALORLOWER);
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(213).comparator(Trigger.Comparator.IS_EQUAL_OR_LOWER);
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
|
||||
when(MainApp.getDbHelper().getBgreadingsDataFromTime(anyLong(), anyBoolean())).thenReturn(new ArrayList<>());
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(213).comparator(Trigger.ISEQUALORLOWER);
|
||||
t = new TriggerBg().units(Constants.MGDL).threshold(213).comparator(Trigger.Comparator.IS_EQUAL_OR_LOWER);
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
t = new TriggerBg().comparator(Trigger.ISNOTAVAILABLE);
|
||||
t = new TriggerBg().comparator(Trigger.Comparator.IS_NOT_AVAILABLE);
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
}
|
||||
|
||||
String bgJson = "{\"data\":\"{\\\"comparator\\\":0,\\\"threshold\\\":4.1,\\\"units\\\":\\\"mmol\\\"}\",\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerBg\"}";
|
||||
String bgJson = "{\"data\":{\"comparator\":\"IS_EQUAL\",\"threshold\":4.1,\"units\":\"mmol\"},\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerBg\"}";
|
||||
|
||||
@Test
|
||||
public void toJSONTest() {
|
||||
TriggerBg t = new TriggerBg().units(Constants.MMOL).threshold(4.1d).comparator(Trigger.ISEQUAL);
|
||||
TriggerBg t = new TriggerBg().units(Constants.MMOL).threshold(4.1d).comparator(Trigger.Comparator.IS_EQUAL);
|
||||
Assert.assertEquals(bgJson, t.toJSON());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fromJSONTest() throws JSONException {
|
||||
TriggerBg t = new TriggerBg().units(Constants.MMOL).threshold(4.1d).comparator(Trigger.ISEQUAL);
|
||||
TriggerBg t = new TriggerBg().units(Constants.MMOL).threshold(4.1d).comparator(Trigger.Comparator.IS_EQUAL);
|
||||
|
||||
TriggerBg t2 = (TriggerBg) Trigger.instantiate(new JSONObject(t.toJSON()));
|
||||
Assert.assertEquals(Trigger.ISEQUAL, t2.comparator);
|
||||
Assert.assertEquals(Trigger.Comparator.IS_EQUAL, t2.comparator);
|
||||
Assert.assertEquals(4.1d, t2.threshold, 0.01d);
|
||||
Assert.assertEquals(Constants.MMOL, t2.units);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,131 @@
|
|||
package info.nightscout.androidaps.plugins.general.automation.triggers;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
|
||||
@RunWith(PowerMockRunner.class)
|
||||
@PrepareForTest({})
|
||||
public class TriggerConnectorTest {
|
||||
|
||||
private static class TriggerBoolean extends Trigger {
|
||||
private boolean result;
|
||||
|
||||
TriggerBoolean(boolean result) {
|
||||
this.result = result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRun() {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
String toJSON() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
Trigger fromJSON(String data) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int friendlyName() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String friendlyDescription() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTriggerList() {
|
||||
TriggerConnector t = new TriggerConnector();
|
||||
TriggerConnector t2 = new TriggerConnector();
|
||||
TriggerConnector t3 = new TriggerConnector();
|
||||
|
||||
Assert.assertTrue(t.size() == 0);
|
||||
|
||||
t.add(t2);
|
||||
Assert.assertTrue(t.size() == 1);
|
||||
Assert.assertEquals(t2, t.get(0));
|
||||
|
||||
t.add(t3);
|
||||
Assert.assertTrue(t.size() == 2);
|
||||
Assert.assertEquals(t2, t.get(0));
|
||||
Assert.assertEquals(t3, t.get(1));
|
||||
|
||||
Assert.assertTrue(t.remove(t2));
|
||||
Assert.assertTrue(t.size() == 1);
|
||||
Assert.assertEquals(t3, t.get(0));
|
||||
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListTriggerOR() {
|
||||
TriggerConnector t = new TriggerConnector(TriggerConnector.Type.OR);
|
||||
t.add(new TriggerBoolean(false));
|
||||
t.add(new TriggerBoolean(false));
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
|
||||
t.add(new TriggerBoolean(true));
|
||||
t.add(new TriggerBoolean(false));
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListTriggerXOR() {
|
||||
TriggerConnector t = new TriggerConnector(TriggerConnector.Type.XOR);
|
||||
t.add(new TriggerBoolean(false));
|
||||
t.add(new TriggerBoolean(false));
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
|
||||
t.add(new TriggerBoolean(true));
|
||||
t.add(new TriggerBoolean(false));
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
|
||||
t.add(new TriggerBoolean(true));
|
||||
t.add(new TriggerBoolean(false));
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListTriggerAND() {
|
||||
TriggerConnector t = new TriggerConnector(TriggerConnector.Type.AND);
|
||||
t.add(new TriggerBoolean(true));
|
||||
t.add(new TriggerBoolean(true));
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
|
||||
t.add(new TriggerBoolean(true));
|
||||
t.add(new TriggerBoolean(false));
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
}
|
||||
|
||||
String empty = "{\"data\":{\"connectorType\":\"AND\",\"triggerList\":[]},\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerConnector\"}";
|
||||
String oneItem = "{\"data\":{\"connectorType\":\"AND\",\"triggerList\":[\"{\\\"data\\\":{\\\"connectorType\\\":\\\"AND\\\",\\\"triggerList\\\":[]},\\\"type\\\":\\\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerConnector\\\"}\"]},\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerConnector\"}";
|
||||
|
||||
@Test
|
||||
public void toJSONTest() {
|
||||
TriggerConnector t = new TriggerConnector();
|
||||
Assert.assertEquals(empty, t.toJSON());
|
||||
t.add(new TriggerConnector());
|
||||
Assert.assertEquals(oneItem, t.toJSON());
|
||||
}
|
||||
@Test
|
||||
public void fromJSONTest() throws JSONException {
|
||||
TriggerConnector t = new TriggerConnector();
|
||||
t.add(new TriggerConnector());
|
||||
|
||||
TriggerConnector t2 = (TriggerConnector) Trigger.instantiate(new JSONObject(t.toJSON()));
|
||||
Assert.assertEquals(1, t2.size());
|
||||
Assert.assertTrue(t2.get(0) instanceof TriggerConnector);
|
||||
}
|
||||
}
|
|
@ -1,58 +0,0 @@
|
|||
package info.nightscout.androidaps.plugins.general.automation.triggers;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
|
||||
@RunWith(PowerMockRunner.class)
|
||||
@PrepareForTest({})
|
||||
public class TriggerOrTest {
|
||||
|
||||
@Test
|
||||
public void doTests() {
|
||||
TriggerOr t = new TriggerOr();
|
||||
TriggerOr t2 = new TriggerOr();
|
||||
TriggerOr t3 = new TriggerOr();
|
||||
|
||||
Assert.assertTrue(t.size() == 0);
|
||||
|
||||
t.add(t2);
|
||||
Assert.assertTrue(t.size() == 1);
|
||||
Assert.assertEquals(t2, t.get(0));
|
||||
|
||||
t.add(t3);
|
||||
Assert.assertTrue(t.size() == 2);
|
||||
Assert.assertEquals(t2, t.get(0));
|
||||
Assert.assertEquals(t3, t.get(1));
|
||||
|
||||
Assert.assertTrue(t.remove(t2));
|
||||
Assert.assertTrue(t.size() == 1);
|
||||
Assert.assertEquals(t3, t.get(0));
|
||||
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
}
|
||||
|
||||
String empty = "{\"data\":\"[]\",\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerOr\"}";
|
||||
String oneItem = "{\"data\":\"[\\\"{\\\\\\\"data\\\\\\\":\\\\\\\"[]\\\\\\\",\\\\\\\"type\\\\\\\":\\\\\\\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerOr\\\\\\\"}\\\"]\",\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerOr\"}";
|
||||
|
||||
@Test
|
||||
public void toJSONTest() {
|
||||
TriggerOr t = new TriggerOr();
|
||||
Assert.assertEquals(empty, t.toJSON());
|
||||
t.add(new TriggerOr());
|
||||
Assert.assertEquals(oneItem, t.toJSON());
|
||||
}
|
||||
@Test
|
||||
public void fromJSONTest() throws JSONException {
|
||||
TriggerOr t = new TriggerOr();
|
||||
t.add(new TriggerOr());
|
||||
|
||||
TriggerOr t2 = (TriggerOr) Trigger.instantiate(new JSONObject(t.toJSON()));
|
||||
Assert.assertEquals(1, t2.size());
|
||||
Assert.assertTrue(t2.get(0) instanceof TriggerOr);
|
||||
}
|
||||
}
|
|
@ -35,25 +35,29 @@ public class TriggerTimeTest {
|
|||
// scheduled 1 min before
|
||||
TriggerTime t = new TriggerTime().runAt(now - T.mins(1).msecs());
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
|
||||
// scheduled 1 min in the future
|
||||
t = new TriggerTime().runAt(now + T.mins(1).msecs());
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
|
||||
// limit by validTo
|
||||
t = new TriggerTime().recurring(true).hour(1).minute(34).validTo(1);
|
||||
t.setAll(true);
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
|
||||
// scheduled 1 min before
|
||||
t = new TriggerTime().recurring(true).hour(1).minute(34);
|
||||
t.setAll(true);
|
||||
Assert.assertTrue(t.shouldRun());
|
||||
|
||||
// already run
|
||||
t = new TriggerTime().recurring(true).hour(1).minute(34).lastRun(now - 1);
|
||||
t.setAll(true);
|
||||
Assert.assertFalse(t.shouldRun());
|
||||
|
||||
}
|
||||
|
||||
String timeJson = "{\"data\":\"{\\\"saturday\\\":true,\\\"runAt\\\":1514766840000,\\\"lastRun\\\":0,\\\"recurring\\\":false,\\\"thursday\\\":true,\\\"minute\\\":0,\\\"sunday\\\":true,\\\"tuesday\\\":true,\\\"hour\\\":0,\\\"wednesday\\\":true,\\\"friday\\\":true,\\\"monday\\\":true,\\\"validTo\\\":0}\",\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerTime\"}";
|
||||
String timeJson = "{\"data\":{\"runAt\":1514766840000,\"THURSDAY\":false,\"lastRun\":0,\"SUNDAY\":false,\"recurring\":false,\"TUESDAY\":false,\"FRIDAY\":false,\"minute\":0,\"WEDNESDAY\":false,\"MONDAY\":false,\"hour\":0,\"SATURDAY\":false,\"validTo\":0},\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerTime\"}";
|
||||
|
||||
@Test
|
||||
public void toJSONTest() {
|
||||
|
|
Loading…
Reference in a new issue