diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.java b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.java index 6b584a365d..4eb8291bdc 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.java +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.java @@ -111,16 +111,6 @@ public class ConstraintsCheckerTest { Assert.assertEquals(Boolean.FALSE, c.value()); } -// @Test -// public void isAdvancedFilteringEnabledTest() throws Exception { -// when(MainApp.getConfigBuilder().getActiveBgSource()).thenReturn(SourceGlimpPlugin.getPlugin()); -// -// Constraint c = constraintChecker.isAdvancedFilteringEnabled(); -// Assert.assertEquals(true, c.getReasonList().size() == 1); // Safety -// Assert.assertEquals(true, c.getMostLimitedReasonList().size() == 1); // Safety -// Assert.assertEquals(Boolean.FALSE, c.value()); -// } - @Test public void isSMBModeEnabledTest() throws Exception { objectivesPlugin.objectives.get(7).setStartedOn(null); diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyPluginTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyPluginTest.java index ee3359c84e..4e3ab763fa 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyPluginTest.java +++ b/app/src/test/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyPluginTest.java @@ -89,17 +89,6 @@ public class SafetyPluginTest { Assert.assertEquals(Boolean.FALSE, c.value()); } - // TODO -// @Test -// public void bgsourceShouldPreventSMBAlways() throws Exception { -// when(MainApp.getConfigBuilder().getActiveBgSource()).thenReturn(SourceGlimpPlugin.getPlugin()); -// -// Constraint c = new Constraint<>(true); -// c = safetyPlugin.isAdvancedFilteringEnabled(c); -// Assert.assertEquals("Safety: SMB always and after carbs disabled because active BG source doesn\\'t support advanced filtering", c.getReasons()); -// Assert.assertEquals(Boolean.FALSE, c.value()); -// } - @Test public void basalRateShouldBeLimited() throws Exception { when(SP.getDouble(R.string.key_openapsma_max_basal, 1d)).thenReturn(1d); diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5PluginTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5PluginTest.java index 7f160ce1d2..fcf83cd745 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5PluginTest.java +++ b/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5PluginTest.java @@ -14,9 +14,4 @@ public class SourceDexcomG5PluginTest { public void getPlugin() { Assert.assertNotEquals(null, SourceDexcomG5Plugin.getPlugin()); } - -// @Test -// public void advancedFilteringSupported() { -// Assert.assertEquals(true, SourceDexcomG5Plugin.getPlugin().advancedFilteringSupported()); -// } } \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPluginTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPluginTest.java index 0910442be8..1729a1ef5e 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPluginTest.java +++ b/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPluginTest.java @@ -14,9 +14,4 @@ public class SourceGlimpPluginTest { public void getPlugin() { Assert.assertNotEquals(null, SourceGlimpPlugin.getPlugin()); } - -// @Test -// public void advancedFilteringSupported() { -// Assert.assertEquals(false, SourceGlimpPlugin.getPlugin().advancedFilteringSupported()); -// } } \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPluginTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPluginTest.java index e40f9bb492..7cd7f36d6f 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPluginTest.java +++ b/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPluginTest.java @@ -14,9 +14,4 @@ public class SourceMM640gPluginTest { public void getPlugin() { Assert.assertNotEquals(null, SourceMM640gPlugin.getPlugin()); } - -// @Test -// public void advancedFilteringSupported() { -// Assert.assertEquals(false, SourceMM640gPlugin.getPlugin().advancedFilteringSupported()); -// } } \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPluginTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPluginTest.java index fecf0712d8..787eb65351 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPluginTest.java +++ b/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPluginTest.java @@ -12,9 +12,4 @@ public class SourceNSClientPluginTest { public void getPlugin() { Assert.assertNotEquals(null, SourceNSClientPlugin.getPlugin()); } - -// @Test -// public void advancedFilteringSupported() { -// Assert.assertEquals(false, SourceNSClientPlugin.getPlugin().advancedFilteringSupported()); -// } } \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceXdripPluginTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceXdripPluginTest.java index 33d9bc45b1..458feb2d34 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceXdripPluginTest.java +++ b/app/src/test/java/info/nightscout/androidaps/plugins/Source/SourceXdripPluginTest.java @@ -1,22 +1,75 @@ package info.nightscout.androidaps.plugins.Source; +import android.os.Bundle; +import android.support.annotation.NonNull; + import org.junit.Assert; +import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; -import info.nightscout.androidaps.plugins.Source.SourceXdripPlugin; +import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.Services.Intents; +import info.nightscout.androidaps.db.BgReading; +import info.nightscout.androidaps.db.DatabaseHelper; + +import static junit.framework.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; @RunWith(PowerMockRunner.class) +@PrepareForTest({MainApp.class, DatabaseHelper.class}) public class SourceXdripPluginTest { + private SourceXdripPlugin plugin = SourceXdripPlugin.getPlugin(); + + @Before + public void prepareTest() { + PowerMockito.mockStatic(MainApp.class); + when(MainApp.gs(0)).thenReturn(""); + DatabaseHelper databaseHelper = mock(DatabaseHelper.class); + when(MainApp.getDbHelper()).thenReturn(databaseHelper); + when(databaseHelper.createIfNotExists(any(), any())).thenReturn(true); + } + @Test - public void getPlugin() { + public void pluginInitializes() { Assert.assertNotEquals(null, SourceXdripPlugin.getPlugin()); } -// @Test -// public void advancedFilteringSupported() { -// Assert.assertEquals(false, SourceXdripPlugin.getPlugin().advancedFilteringSupported()); -// } + // TODO + @Ignore("Bundle needs to be properly mocked") + @Test + public void bgWithUnknownSourceIsMarkedUnfiltered() { + Bundle bundle = createBroadcastBundle(); + BgReading bgReadings = plugin.processNewData(bundle).get(0); + assertFalse(bgReadings.filtered); + } + + // TODO + @Ignore("Bundle needs to be properly mocked") + @Test + public void bgWithSourceG5NativeIsMarkedFiltered() { + Bundle bundle = createBroadcastBundle(); + bundle.putString(Intents.XDRIP_DATA_SOURCE_DESCRIPTION, "G5 Native"); + + BgReading bgReadings = plugin.processNewData(bundle).get(0); + assertTrue(bgReadings.filtered); + } + + @NonNull + private Bundle createBroadcastBundle() { + Bundle bundle = new Bundle(); + bundle.putDouble(Intents.EXTRA_BG_ESTIMATE, 100.0); + bundle.putString(Intents.EXTRA_BG_SLOPE_NAME, "DoubleDown"); + bundle.putLong(Intents.EXTRA_TIMESTAMP, 0L); + bundle.putDouble(Intents.EXTRA_RAW, 430.0); + return bundle; + } } \ No newline at end of file