NSClientReceiverDelegateTest
This commit is contained in:
parent
e8819897f3
commit
156d71da0a
|
@ -1,126 +0,0 @@
|
|||
package info.nightscout.androidaps.plugins.general.nsclient;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import org.junit.Before;
|
||||
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.AAPSMocker;
|
||||
import info.nightscout.androidaps.MainApp;
|
||||
import info.nightscout.androidaps.R;
|
||||
import info.nightscout.androidaps.events.EventChargingState;
|
||||
import info.nightscout.androidaps.events.EventNetworkChange;
|
||||
import info.nightscout.androidaps.utils.SP;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@RunWith(PowerMockRunner.class)
|
||||
@PrepareForTest({MainApp.class, SP.class, Context.class})
|
||||
public class NsClientReceiverDelegateTest {
|
||||
|
||||
private NsClientReceiverDelegate sut;
|
||||
|
||||
@Before
|
||||
public void prepare() {
|
||||
AAPSMocker.mockMainApp();
|
||||
AAPSMocker.mockApplicationContext();
|
||||
|
||||
sut = new NsClientReceiverDelegate();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCalculateStatusChargingState() {
|
||||
PowerMockito.mockStatic(SP.class);
|
||||
when(SP.getBoolean(anyInt(), anyBoolean())).thenReturn(false);
|
||||
EventChargingState ev = new EventChargingState(true);
|
||||
assertTrue(sut.calculateStatus(ev));
|
||||
ev = new EventChargingState(false);
|
||||
assertTrue(sut.calculateStatus(ev));
|
||||
|
||||
when(SP.getBoolean(anyInt(), anyBoolean())).thenReturn(true);
|
||||
ev = new EventChargingState(true);
|
||||
assertTrue(sut.calculateStatus(ev));
|
||||
ev = new EventChargingState(false);
|
||||
assertTrue(!sut.calculateStatus(ev));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCalculateStatusNetworkState() {
|
||||
PowerMockito.mockStatic(SP.class);
|
||||
// wifiOnly = false
|
||||
// allowRoaming = false as well
|
||||
when(SP.getBoolean(anyInt(), anyBoolean())).thenReturn(false);
|
||||
when(SP.getString(anyInt(), anyString())).thenReturn("");
|
||||
EventNetworkChange ev = new EventNetworkChange();
|
||||
ev.setSsid("<unknown ssid>");
|
||||
|
||||
ev.setMobileConnected(true);
|
||||
ev.setWifiConnected(true);
|
||||
assertTrue(sut.calculateStatus(ev));
|
||||
|
||||
ev.setSsid("test");
|
||||
when(SP.getString(anyInt(), anyString())).thenReturn("\"test\"");
|
||||
assertTrue(sut.calculateStatus(ev));
|
||||
|
||||
ev.setSsid("\"test\"");
|
||||
assertTrue(sut.calculateStatus(ev));
|
||||
|
||||
ev.setWifiConnected(false);
|
||||
assertTrue(sut.calculateStatus(ev));
|
||||
|
||||
// wifiOnly = true
|
||||
// allowRoaming = true as well
|
||||
when(SP.getBoolean(anyInt(), anyBoolean())).thenReturn(true);
|
||||
ev.setWifiConnected(true);
|
||||
assertTrue(sut.calculateStatus(ev));
|
||||
ev.setWifiConnected(false);
|
||||
assertTrue(!sut.calculateStatus(ev));
|
||||
|
||||
// wifiOnly = false
|
||||
// allowRoaming = false as well
|
||||
when(SP.getBoolean(anyInt(), anyBoolean())).thenReturn(false);
|
||||
ev.setWifiConnected(false);
|
||||
ev.setRoaming(true);
|
||||
assertTrue(!sut.calculateStatus(ev));
|
||||
|
||||
// wifiOnly = false
|
||||
// allowRoaming = true
|
||||
when(SP.getBoolean(R.string.key_ns_wifionly, false)).thenReturn(false);
|
||||
when(SP.getBoolean(R.string.key_ns_allowroaming, true)).thenReturn(true);
|
||||
ev.setWifiConnected(false);
|
||||
ev.setRoaming(true);
|
||||
assertTrue(sut.calculateStatus(ev));
|
||||
|
||||
// wifiOnly = true
|
||||
// allowRoaming = true
|
||||
when(SP.getBoolean(R.string.key_ns_wifionly, false)).thenReturn(true);
|
||||
when(SP.getBoolean(R.string.key_ns_allowroaming, true)).thenReturn(true);
|
||||
ev.setWifiConnected(false);
|
||||
ev.setRoaming(true);
|
||||
assertTrue(!sut.calculateStatus(ev));
|
||||
|
||||
// wifiOnly = true
|
||||
// allowRoaming = true
|
||||
when(SP.getBoolean(R.string.key_ns_wifionly, false)).thenReturn(true);
|
||||
when(SP.getBoolean(R.string.key_ns_allowroaming, true)).thenReturn(true);
|
||||
ev.setWifiConnected(true);
|
||||
ev.setRoaming(true);
|
||||
assertTrue(sut.calculateStatus(ev));
|
||||
|
||||
// wifiOnly = false
|
||||
// allowRoaming = false
|
||||
when(SP.getBoolean(R.string.key_ns_wifionly, false)).thenReturn(false);
|
||||
when(SP.getBoolean(R.string.key_ns_allowroaming, true)).thenReturn(false);
|
||||
ev.setWifiConnected(true);
|
||||
ev.setRoaming(true);
|
||||
assertTrue(sut.calculateStatus(ev));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,126 @@
|
|||
package info.nightscout.androidaps.plugins.general.nsclient
|
||||
|
||||
import android.content.Context
|
||||
import info.nightscout.androidaps.MainApp
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.TestBase
|
||||
import info.nightscout.androidaps.events.EventChargingState
|
||||
import info.nightscout.androidaps.events.EventNetworkChange
|
||||
import info.nightscout.androidaps.utils.SP
|
||||
import org.junit.Assert
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.ArgumentMatchers
|
||||
import org.mockito.ArgumentMatchers.anyBoolean
|
||||
import org.mockito.ArgumentMatchers.anyInt
|
||||
import org.mockito.ArgumentMatchers.anyLong
|
||||
import org.mockito.ArgumentMatchers.anyString
|
||||
import org.mockito.Mockito
|
||||
import org.mockito.Mockito.`when`
|
||||
import org.mockito.Mockito.mock
|
||||
import org.powermock.api.mockito.PowerMockito
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest
|
||||
import org.powermock.modules.junit4.PowerMockRunner
|
||||
|
||||
@RunWith(PowerMockRunner::class)
|
||||
@PrepareForTest(MainApp::class, SP::class, Context::class)
|
||||
class NsClientReceiverDelegateTest : TestBase() {
|
||||
|
||||
private var sut: NsClientReceiverDelegate? = null
|
||||
|
||||
@Before fun prepare() {
|
||||
System.setProperty("disableFirebase", "true")
|
||||
PowerMockito.mockStatic(MainApp::class.java)
|
||||
val mainApp: MainApp = mock(MainApp::class.java)
|
||||
`when`(MainApp.instance()).thenReturn(mainApp)
|
||||
PowerMockito.mockStatic(SP::class.java)
|
||||
`when`(SP.getLong(anyInt(), anyLong())).thenReturn(0L)
|
||||
`when`(SP.getBoolean(anyInt(), anyBoolean())).thenReturn(false)
|
||||
`when`(SP.getInt(anyInt(), anyInt())).thenReturn(0)
|
||||
`when`(SP.getString(anyInt(), anyString())).thenReturn("")
|
||||
|
||||
sut = NsClientReceiverDelegate()
|
||||
}
|
||||
|
||||
@Test fun testCalculateStatusChargingState() {
|
||||
PowerMockito.mockStatic(SP::class.java)
|
||||
Mockito.`when`(SP.getBoolean(ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean())).thenReturn(false)
|
||||
var ev = EventChargingState(true)
|
||||
Assert.assertTrue(sut!!.calculateStatus(ev))
|
||||
ev = EventChargingState(false)
|
||||
Assert.assertTrue(sut!!.calculateStatus(ev))
|
||||
Mockito.`when`(SP.getBoolean(ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean())).thenReturn(true)
|
||||
ev = EventChargingState(true)
|
||||
Assert.assertTrue(sut!!.calculateStatus(ev))
|
||||
ev = EventChargingState(false)
|
||||
Assert.assertTrue(!sut!!.calculateStatus(ev))
|
||||
}
|
||||
|
||||
@Test fun testCalculateStatusNetworkState() {
|
||||
PowerMockito.mockStatic(SP::class.java)
|
||||
// wifiOnly = false
|
||||
// allowRoaming = false as well
|
||||
Mockito.`when`(SP.getBoolean(ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean())).thenReturn(false)
|
||||
Mockito.`when`(SP.getString(ArgumentMatchers.anyInt(), ArgumentMatchers.anyString())).thenReturn("")
|
||||
val ev = EventNetworkChange()
|
||||
ev.ssid = "<unknown ssid>"
|
||||
ev.mobileConnected = true
|
||||
ev.wifiConnected = true
|
||||
Assert.assertTrue(sut!!.calculateStatus(ev))
|
||||
ev.ssid = "test"
|
||||
Mockito.`when`(SP.getString(ArgumentMatchers.anyInt(), ArgumentMatchers.anyString())).thenReturn("\"test\"")
|
||||
Assert.assertTrue(sut!!.calculateStatus(ev))
|
||||
ev.ssid = "\"test\""
|
||||
Assert.assertTrue(sut!!.calculateStatus(ev))
|
||||
ev.wifiConnected = false
|
||||
Assert.assertTrue(sut!!.calculateStatus(ev))
|
||||
|
||||
// wifiOnly = true
|
||||
// allowRoaming = true as well
|
||||
Mockito.`when`(SP.getBoolean(ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean())).thenReturn(true)
|
||||
ev.wifiConnected = true
|
||||
Assert.assertTrue(sut!!.calculateStatus(ev))
|
||||
ev.wifiConnected = false
|
||||
Assert.assertTrue(!sut!!.calculateStatus(ev))
|
||||
|
||||
// wifiOnly = false
|
||||
// allowRoaming = false as well
|
||||
Mockito.`when`(SP.getBoolean(ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean())).thenReturn(false)
|
||||
ev.wifiConnected = false
|
||||
ev.roaming = true
|
||||
Assert.assertTrue(!sut!!.calculateStatus(ev))
|
||||
|
||||
// wifiOnly = false
|
||||
// allowRoaming = true
|
||||
Mockito.`when`(SP.getBoolean(R.string.key_ns_wifionly, false)).thenReturn(false)
|
||||
Mockito.`when`(SP.getBoolean(R.string.key_ns_allowroaming, true)).thenReturn(true)
|
||||
ev.wifiConnected = false
|
||||
ev.roaming = true
|
||||
Assert.assertTrue(sut!!.calculateStatus(ev))
|
||||
|
||||
// wifiOnly = true
|
||||
// allowRoaming = true
|
||||
Mockito.`when`(SP.getBoolean(R.string.key_ns_wifionly, false)).thenReturn(true)
|
||||
Mockito.`when`(SP.getBoolean(R.string.key_ns_allowroaming, true)).thenReturn(true)
|
||||
ev.wifiConnected = false
|
||||
ev.roaming = true
|
||||
Assert.assertTrue(!sut!!.calculateStatus(ev))
|
||||
|
||||
// wifiOnly = true
|
||||
// allowRoaming = true
|
||||
Mockito.`when`(SP.getBoolean(R.string.key_ns_wifionly, false)).thenReturn(true)
|
||||
Mockito.`when`(SP.getBoolean(R.string.key_ns_allowroaming, true)).thenReturn(true)
|
||||
ev.wifiConnected = true
|
||||
ev.roaming = true
|
||||
Assert.assertTrue(sut!!.calculateStatus(ev))
|
||||
|
||||
// wifiOnly = false
|
||||
// allowRoaming = false
|
||||
Mockito.`when`(SP.getBoolean(R.string.key_ns_wifionly, false)).thenReturn(false)
|
||||
Mockito.`when`(SP.getBoolean(R.string.key_ns_allowroaming, true)).thenReturn(false)
|
||||
ev.wifiConnected = true
|
||||
ev.roaming = true
|
||||
Assert.assertTrue(sut!!.calculateStatus(ev))
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue