shared-tests #12

This commit is contained in:
Milos Kozak 2023-09-04 08:57:39 +02:00
parent 8032cd8f42
commit a2fb04c5fe
29 changed files with 340 additions and 372 deletions

View file

@ -41,6 +41,8 @@ dependencies {
api "androidx.room:room-rxjava3:$room_version" api "androidx.room:room-rxjava3:$room_version"
kapt "androidx.room:room-compiler:$room_version" kapt "androidx.room:room-compiler:$room_version"
testImplementation project(':app-wear-shared:shared-tests')
testImplementation "commons-codec:commons-codec:$commonscodec_version" testImplementation "commons-codec:commons-codec:$commonscodec_version"
api 'com.github.guepardoapps:kulid:2.0.0.0' api 'com.github.guepardoapps:kulid:2.0.0.0'
} }

View file

@ -1,38 +0,0 @@
package info.nightscout.androidaps
import info.nightscout.rx.AapsSchedulers
import info.nightscout.rx.TestAapsSchedulers
import info.nightscout.rx.logging.AAPSLoggerTest
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.extension.ExtendWith
import org.mockito.Mockito
import org.mockito.junit.jupiter.MockitoExtension
import org.mockito.junit.jupiter.MockitoSettings
import org.mockito.quality.Strictness
import java.util.Locale
@Suppress("SpellCheckingInspection")
@ExtendWith(MockitoExtension::class)
@MockitoSettings(strictness = Strictness.LENIENT)
open class TestBase {
val aapsLogger = AAPSLoggerTest()
val aapsSchedulers: AapsSchedulers = TestAapsSchedulers()
@BeforeEach
fun setupLocale() {
Locale.setDefault(Locale.ENGLISH)
System.setProperty("disableFirebase", "true")
}
// Workaround for Kotlin nullability.
// https://medium.com/@elye.project/befriending-kotlin-and-mockito-1c2e7b0ef791
// https://stackoverflow.com/questions/30305217/is-it-possible-to-use-mockito-in-kotlin
fun <T> anyObject(): T {
Mockito.any<T>()
return uninitialized()
}
@Suppress("Unchecked_Cast")
fun <T> uninitialized(): T = null as T
}

View file

@ -3,11 +3,11 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.endecry
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessagePacket import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessagePacket
import info.nightscout.core.utils.toHex import info.nightscout.core.utils.toHex
import info.nightscout.rx.logging.AAPSLoggerTest import info.nightscout.rx.logging.AAPSLoggerTest
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import org.spongycastle.util.encoders.Hex import org.spongycastle.util.encoders.Hex
class EnDecryptTest { @Suppress("SpellCheckingInspection") class EnDecryptTest {
@Test @Test
fun decrypt() { fun decrypt() {
@ -32,7 +32,7 @@ class EnDecryptTest {
val msg = MessagePacket.parse(encryptedMessage) val msg = MessagePacket.parse(encryptedMessage)
val decryptedMsg = enDecrypt.decrypt(msg) val decryptedMsg = enDecrypt.decrypt(msg)
Assert.assertEquals(decrypted.toHex(), decryptedMsg.payload.toHex()) Assertions.assertEquals(decrypted.toHex(), decryptedMsg.payload.toHex())
} }
@Test @Test
@ -56,6 +56,6 @@ class EnDecryptTest {
val encrypted = enDecrypt.encrypt(msg) val encrypted = enDecrypt.encrypt(msg)
Assert.assertEquals(encryptedMessage.toHex(), encrypted.asByteArray().toHex()) Assertions.assertEquals(encryptedMessage.toHex(), encrypted.asByteArray().toHex())
} }
} }

View file

@ -3,12 +3,12 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message
import com.google.crypto.tink.subtle.Hex import com.google.crypto.tink.subtle.Hex
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Id import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Id
import info.nightscout.core.utils.toHex import info.nightscout.core.utils.toHex
import org.junit.Assert.assertEquals import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class MessagePacketTest { class MessagePacketTest {
val payload = private val payload =
"54,57,11,01,07,00,03,40,08,20,2e,a8,08,20,2e,a9,ab,35,d8,31,60,9b,b8,fe,3a,3b,de,5b,18,37,24,9a,16,db,f8,e4,d3,05,e9,75,dc,81,7c,37,07,cc,41,5f,af,8a".replace( "54,57,11,01,07,00,03,40,08,20,2e,a8,08,20,2e,a9,ab,35,d8,31,60,9b,b8,fe,3a,3b,de,5b,18,37,24,9a,16,db,f8,e4,d3,05,e9,75,dc,81,7c,37,07,cc,41,5f,af,8a".replace(
",", ",",
"" ""
@ -16,19 +16,19 @@ class MessagePacketTest {
@Test fun testParseMessagePacket() { @Test fun testParseMessagePacket() {
val msg = MessagePacket.parse(Hex.decode(payload)) val msg = MessagePacket.parse(Hex.decode(payload))
assertEquals(msg.type, MessageType.ENCRYPTED) Assertions.assertEquals(msg.type, MessageType.ENCRYPTED)
assertEquals(msg.source, Id.fromLong(136326824)) Assertions.assertEquals(msg.source, Id.fromLong(136326824))
assertEquals(msg.destination, Id.fromLong(136326825)) Assertions.assertEquals(msg.destination, Id.fromLong(136326825))
assertEquals(msg.sequenceNumber, 7.toByte()) Assertions.assertEquals(msg.sequenceNumber, 7.toByte())
assertEquals(msg.ackNumber, 0.toByte()) Assertions.assertEquals(msg.ackNumber, 0.toByte())
assertEquals(msg.eqos, 1.toShort()) Assertions.assertEquals(msg.eqos, 1.toShort())
assertEquals(msg.priority, false) Assertions.assertEquals(msg.priority, false)
assertEquals(msg.lastMessage, false) Assertions.assertEquals(msg.lastMessage, false)
assertEquals(msg.gateway, false) Assertions.assertEquals(msg.gateway, false)
assertEquals(msg.sas, true) Assertions.assertEquals(msg.sas, true)
assertEquals(msg.tfs, false) Assertions.assertEquals(msg.tfs, false)
assertEquals(msg.version, 0.toShort()) Assertions.assertEquals(msg.version, 0.toShort())
assertEquals(msg.payload.toHex(), payload.substring(32, payload.length)) Assertions.assertEquals(msg.payload.toHex(), payload.substring(32, payload.length))
} }
@Test fun testSerializeMessagePacket() { @Test fun testSerializeMessagePacket() {
@ -46,6 +46,6 @@ class MessagePacketTest {
tfs = false, tfs = false,
payload = Hex.decode(payload.substring(32, payload.length)) payload = Hex.decode(payload.substring(32, payload.length))
) )
assertEquals(msg.asByteArray().toHex(), payload) Assertions.assertEquals(msg.asByteArray().toHex(), payload)
} }
} }

View file

@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message
import com.google.crypto.tink.subtle.Hex import com.google.crypto.tink.subtle.Hex
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.packet.PayloadJoiner import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.packet.PayloadJoiner
import info.nightscout.core.utils.toHex import info.nightscout.core.utils.toHex
import org.junit.Assert.assertEquals import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class PayloadJoinerTest { class PayloadJoinerTest {
@ -15,6 +15,6 @@ class PayloadJoinerTest {
val joiner = PayloadJoiner(f1) val joiner = PayloadJoiner(f1)
joiner.accumulate(f2) joiner.accumulate(f2)
val actual = joiner.finalize() val actual = joiner.finalize()
assertEquals(payload, actual.toHex()) Assertions.assertEquals(payload, actual.toHex())
} }
} }

View file

@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.packet.PayloadJoiner import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.packet.PayloadJoiner
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.packet.PayloadSplitter import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.packet.PayloadSplitter
import info.nightscout.core.utils.toHex import info.nightscout.core.utils.toHex
import org.junit.Assert.assertEquals import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import java.util.Random import java.util.Random
@ -17,12 +17,12 @@ class PayloadSplitJoinTest {
random.nextBytes(payload) random.nextBytes(payload)
val splitter = PayloadSplitter(payload) val splitter = PayloadSplitter(payload)
val packets = splitter.splitInPackets() val packets = splitter.splitInPackets()
val joiner = PayloadJoiner(packets.get(0).toByteArray()) val joiner = PayloadJoiner(packets[0].toByteArray())
for (p in packets.subList(1, packets.size)) { for (p in packets.subList(1, packets.size)) {
joiner.accumulate(p.toByteArray()) joiner.accumulate(p.toByteArray())
} }
val got = joiner.finalize() val got = joiner.finalize()
assertEquals(got.toHex(), payload.toHex()) Assertions.assertEquals(got.toHex(), payload.toHex())
} }
} }
} }

View file

@ -3,8 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message
import com.google.crypto.tink.subtle.Hex import com.google.crypto.tink.subtle.Hex
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.packet.PayloadSplitter import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.packet.PayloadSplitter
import info.nightscout.core.utils.toHex import info.nightscout.core.utils.toHex
import org.junit.Assert.assertEquals import org.junit.jupiter.api.Assertions
import org.junit.Assert.assertTrue
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class PayloadSplitterTest { class PayloadSplitterTest {
@ -17,10 +16,10 @@ class PayloadSplitterTest {
val splitter = PayloadSplitter(payload) val splitter = PayloadSplitter(payload)
val packets = splitter.splitInPackets() val packets = splitter.splitInPackets()
assertEquals(packets.size, 2) Assertions.assertEquals(packets.size, 2)
assertEquals(f1, packets.get(0).toByteArray().toHex()) Assertions.assertEquals(f1, packets[0].toByteArray().toHex())
val p2 = packets.get(1).toByteArray() val p2 = packets[1].toByteArray()
assertTrue(p2.size >= 10) Assertions.assertTrue(p2.size >= 10)
assertEquals(f2.subSequence(0, 20), p2.copyOfRange(0, 10).toHex()) Assertions.assertEquals(f2.subSequence(0, 20), p2.copyOfRange(0, 10).toHex())
} }
} }

View file

@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message
import com.google.crypto.tink.subtle.Hex import com.google.crypto.tink.subtle.Hex
import info.nightscout.core.utils.toHex import info.nightscout.core.utils.toHex
import org.junit.Assert.assertEquals import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class StringLengthPrefixEncodingTest { class StringLengthPrefixEncodingTest {
@ -12,12 +12,12 @@ class StringLengthPrefixEncodingTest {
@Test fun testFormatKeysP0() { @Test fun testFormatKeysP0() {
val payload = StringLengthPrefixEncoding.formatKeys(arrayOf("P0="), arrayOf(p0Content)) val payload = StringLengthPrefixEncoding.formatKeys(arrayOf("P0="), arrayOf(p0Content))
assertEquals(p0Payload.toHex(), payload.toHex()) Assertions.assertEquals(p0Payload.toHex(), payload.toHex())
} }
@Test fun testParseKeysP0() { @Test fun testParseKeysP0() {
val parsed = StringLengthPrefixEncoding.parseKeys(arrayOf("P0="), p0Payload) val parsed = StringLengthPrefixEncoding.parseKeys(arrayOf("P0="), p0Payload)
assertEquals(parsed.size, 1) Assertions.assertEquals(parsed.size, 1)
assertEquals(parsed[0].toHex(), p0Content.toHex()) Assertions.assertEquals(parsed[0].toHex(), p0Content.toHex())
} }
} }

View file

@ -1,12 +1,12 @@
package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.pair package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.pair
import info.nightscout.androidaps.TestBase
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.RandomByteGenerator import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.RandomByteGenerator
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.X25519KeyGenerator import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.X25519KeyGenerator
import info.nightscout.core.utils.toHex import info.nightscout.core.utils.toHex
import info.nightscout.interfaces.Config import info.nightscout.interfaces.Config
import info.nightscout.rx.logging.AAPSLoggerTest import info.nightscout.rx.logging.AAPSLoggerTest
import org.junit.Assert.assertEquals import info.nightscout.sharedtests.TestBase
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import org.mockito.ArgumentMatchers.anyInt import org.mockito.ArgumentMatchers.anyInt
import org.mockito.Mock import org.mockito.Mock
@ -17,10 +17,10 @@ import org.spongycastle.util.encoders.Hex
class KeyExchangeTest : TestBase() { class KeyExchangeTest : TestBase() {
val keyGenerator = X25519KeyGenerator() private val keyGenerator = X25519KeyGenerator()
val keyGeneratorSpy = spy(keyGenerator) private val keyGeneratorSpy: X25519KeyGenerator = spy(keyGenerator)
var randomByteGenerator: RandomByteGenerator = mock(RandomByteGenerator::class.java) private var randomByteGenerator: RandomByteGenerator = mock(RandomByteGenerator::class.java)
@Mock lateinit var config: Config @Mock lateinit var config: Config
@ -43,9 +43,9 @@ class KeyExchangeTest : TestBase() {
val podPublicKey = Hex.decode("2fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b74") val podPublicKey = Hex.decode("2fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b74")
val podNonce = Hex.decode("00000000000000000000000000000000") val podNonce = Hex.decode("00000000000000000000000000000000")
ke.updatePodPublicData(podPublicKey + podNonce) ke.updatePodPublicData(podPublicKey + podNonce)
assertEquals(ke.pdmPublic.toHex(), "f2b6940243aba536a66e19fb9a39e37f1e76a1cd50ab59b3e05313b4fc93975e") Assertions.assertEquals(ke.pdmPublic.toHex(), "f2b6940243aba536a66e19fb9a39e37f1e76a1cd50ab59b3e05313b4fc93975e")
assertEquals(ke.pdmConf.toHex(), "5fc3b4da865e838ceaf1e9e8bb85d1ac") Assertions.assertEquals(ke.pdmConf.toHex(), "5fc3b4da865e838ceaf1e9e8bb85d1ac")
ke.validatePodConf(Hex.decode("af4f10db5f96e5d9cd6cfc1f54f4a92f")) ke.validatePodConf(Hex.decode("af4f10db5f96e5d9cd6cfc1f54f4a92f"))
assertEquals(ke.ltk.toHex(), "341e16d13f1cbf73b19d1c2964fee02b") Assertions.assertEquals(ke.ltk.toHex(), "341e16d13f1cbf73b19d1c2964fee02b")
} }
} }

View file

@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session
import info.nightscout.core.utils.toHex import info.nightscout.core.utils.toHex
import info.nightscout.rx.logging.AAPSLoggerTest import info.nightscout.rx.logging.AAPSLoggerTest
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import org.spongycastle.util.encoders.Hex import org.spongycastle.util.encoders.Hex
@ -14,6 +14,6 @@ class EapMessageTest {
Hex.decode("01bd0038170100000205000000c55c78e8d3b9b9e935860a7259f6c001050000c2cd1248451103bd77a6c7ef88c441ba7e0200006cff5d18") Hex.decode("01bd0038170100000205000000c55c78e8d3b9b9e935860a7259f6c001050000c2cd1248451103bd77a6c7ef88c441ba7e0200006cff5d18")
val eapMsg = EapMessage.parse(aapsLogger, payload) val eapMsg = EapMessage.parse(aapsLogger, payload)
val back = eapMsg.toByteArray() val back = eapMsg.toByteArray()
Assert.assertEquals(back.toHex(), payload.toHex()) Assertions.assertEquals(back.toHex(), payload.toHex())
} }
} }

View file

@ -1,10 +1,10 @@
package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session
import info.nightscout.androidaps.TestBase
import info.nightscout.core.utils.toHex import info.nightscout.core.utils.toHex
import info.nightscout.interfaces.Config import info.nightscout.interfaces.Config
import info.nightscout.rx.logging.AAPSLoggerTest import info.nightscout.rx.logging.AAPSLoggerTest
import org.junit.Assert import info.nightscout.sharedtests.TestBase
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import org.mockito.Mock import org.mockito.Mock
import org.spongycastle.util.encoders.Hex import org.spongycastle.util.encoders.Hex
@ -22,9 +22,9 @@ class MilenageTest : TestBase() {
sqn = byteArrayOf(0, 0, 0, 0, 0, 2), sqn = byteArrayOf(0, 0, 0, 0, 0, 2),
randParam = Hex.decode("c2cd1248451103bd77a6c7ef88c441ba") randParam = Hex.decode("c2cd1248451103bd77a6c7ef88c441ba")
) )
Assert.assertEquals(m.res.toHex(), "a40bc6d13861447e") Assertions.assertEquals(m.res.toHex(), "a40bc6d13861447e")
Assert.assertEquals(m.ck.toHex(), "55799fd26664cbf6e476525e2dee52c6") Assertions.assertEquals(m.ck.toHex(), "55799fd26664cbf6e476525e2dee52c6")
Assert.assertEquals(m.autn.toHex(), "00c55c78e8d3b9b9e935860a7259f6c0") Assertions.assertEquals(m.autn.toHex(), "00c55c78e8d3b9b9e935860a7259f6c0")
} }
@Test fun testMilenage2() { @Test fun testMilenage2() {
@ -36,9 +36,9 @@ class MilenageTest : TestBase() {
sqn = byteArrayOf(0, 0, 0, 0, 0, 2), // 1 + 1 sqn = byteArrayOf(0, 0, 0, 0, 0, 2), // 1 + 1
randParam = Hex.decode("4fc01ac1a94376ae3e052339c07d9e1f") randParam = Hex.decode("4fc01ac1a94376ae3e052339c07d9e1f")
) )
Assert.assertEquals(m.res.toHex(), "ec549e00fa668a19") Assertions.assertEquals(m.res.toHex(), "ec549e00fa668a19")
Assert.assertEquals(m.ck.toHex(), "ee3dac761fe358a9f476cc5ee81aa3e9") Assertions.assertEquals(m.ck.toHex(), "ee3dac761fe358a9f476cc5ee81aa3e9")
Assert.assertEquals(m.autn.toHex(), "a3e7a71430c8b9b95245b33b3bd679c4") Assertions.assertEquals(m.autn.toHex(), "a3e7a71430c8b9b95245b33b3bd679c4")
} }
@Test fun testMilenageIncrementedSQN() { @Test fun testMilenageIncrementedSQN() {
@ -51,9 +51,9 @@ class MilenageTest : TestBase() {
sqn = byteArrayOf(0, 0, 0, 0, 0x01, 0x5e), sqn = byteArrayOf(0, 0, 0, 0, 0x01, 0x5e),
randParam = Hex.decode("d71cc44820e5419f42c62ae97c035988") randParam = Hex.decode("d71cc44820e5419f42c62ae97c035988")
) )
Assert.assertEquals(m.res.toHex(), "5f807a379a5c5d30") Assertions.assertEquals(m.res.toHex(), "5f807a379a5c5d30")
Assert.assertEquals(m.ck.toHex(), "8dd4b3ceb849a01766e37f9d86045c39") Assertions.assertEquals(m.ck.toHex(), "8dd4b3ceb849a01766e37f9d86045c39")
Assert.assertEquals(m.autn.toHex(), "0e0264d056fcb9b9752227365a090955") Assertions.assertEquals(m.autn.toHex(), "0e0264d056fcb9b9752227365a090955")
} }
@Test fun testMileageSynchronization() { @Test fun testMileageSynchronization() {
@ -67,7 +67,7 @@ class MilenageTest : TestBase() {
randParam = Hex.decode("396707041ca3a5931fc0e52d2d7b9ecf"), randParam = Hex.decode("396707041ca3a5931fc0e52d2d7b9ecf"),
amf = byteArrayOf(0, 0), amf = byteArrayOf(0, 0),
) )
Assert.assertEquals(m.receivedMacS.toHex(), m.macS.toHex()) Assertions.assertEquals(m.receivedMacS.toHex(), m.macS.toHex())
Assert.assertEquals(m.sqn.toHex(), m.synchronizationSqn.toHex()) Assertions.assertEquals(m.sqn.toHex(), m.synchronizationSqn.toHex())
} }
} }

View file

@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class DeactivateCommandTest { class DeactivateCommandTest {
@ -15,6 +15,6 @@ class DeactivateCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("0242000114061C04494E532E001C"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("0242000114061C04494E532E001C"), encoded)
} }
} }

View file

@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.ResponseType import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.ResponseType
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class GetStatusCommandTest { class GetStatusCommandTest {
@ -16,6 +16,6 @@ class GetStatusCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("024200023C030E0100024C"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("024200023C030E0100024C"), encoded)
} }
} }

View file

@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class GetVersionCommandTest { class GetVersionCommandTest {
@ -14,6 +14,6 @@ class GetVersionCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("FFFFFFFF00060704FFFFFFFF82B2"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("FFFFFFFF00060704FFFFFFFF82B2"), encoded)
} }
} }

View file

@ -7,7 +7,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BeepType import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BeepType
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class ProgramAlertsCommandTest { class ProgramAlertsCommandTest {
@ -46,7 +46,7 @@ class ProgramAlertsCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("024200038C121910494E532E79A410D1050228001275060280F5"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("024200038C121910494E532E79A410D1050228001275060280F5"), encoded)
} }
@Test @Throws(DecoderException::class) fun testLowReservoirAlert() { @Test @Throws(DecoderException::class) fun testLowReservoirAlert() {
@ -71,7 +71,7 @@ class ProgramAlertsCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("02420003200C190A494E532E4C0000C801020149"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("02420003200C190A494E532E4C0000C801020149"), encoded)
} }
@Test @Throws(DecoderException::class) fun testUserExpirationAlert() { @Test @Throws(DecoderException::class) fun testUserExpirationAlert() {
@ -96,7 +96,7 @@ class ProgramAlertsCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("024200033C0C190A494E532E38000FEF030203E2"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("024200033C0C190A494E532E38000FEF030203E2"), encoded)
} }
@Test @Throws(DecoderException::class) fun testLumpOfCoalAlert() { @Test @Throws(DecoderException::class) fun testLumpOfCoalAlert() {
@ -122,6 +122,6 @@ class ProgramAlertsCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("02420003280C190A494E532E7837000508020356"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("02420003280C190A494E532E7837000508020356"), encoded)
} }
} }

View file

@ -4,7 +4,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.ProgramReminder import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.ProgramReminder
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import java.util.Date import java.util.Date
@ -28,7 +28,7 @@ class ProgramBasalCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals( Assertions.assertArrayEquals(
Hex.decodeHex("0242000128241A12494E532E0005E81D1708000CF01EF01EF01E130E40001593004C4B403840005B8D80827C"), Hex.decodeHex("0242000128241A12494E532E0005E81D1708000CF01EF01EF01E130E40001593004C4B403840005B8D80827C"),
encoded encoded
) )
@ -51,7 +51,7 @@ class ProgramBasalCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals( Assertions.assertArrayEquals(
Hex.decodeHex("0000109130241a12494e532e0000c52e0f700000f800f800f800130e0000000707fcad8000f015752a00033b"), Hex.decodeHex("0000109130241a12494e532e0000c52e0f700000f800f800f800130e0000000707fcad8000f015752a00033b"),
encoded encoded
) )
@ -61,12 +61,15 @@ class ProgramBasalCommandTest {
val segments = mutableListOf<BasalProgram.Segment>() val segments = mutableListOf<BasalProgram.Segment>()
for (segment in 0..23) { for (segment in 0..23) {
val rate = when (segment) { val rate = when (segment) {
21 -> 21 ->
110 110
22 ->
22 ->
120 120
23 ->
23 ->
135 135
else -> else ->
segment * 5 segment * 5
} }
@ -92,7 +95,7 @@ class ProgramBasalCommandTest {
val expected = val expected =
"0000000508C41A28494E532E00018B16273000032000300130023003300430053006300730083009200A100B100C180D1398400B005E009E22E80002EB49D200000A15752A0000140ABA9500001E07270E000028055D4A800032044AA200003C0393870000460310BCDB005002AEA540005A02625A00006402255100006E01F360E8007801C9C380008201A68D13008C01885E6D0096016E360000A0015752A000AA0143209600B401312D0000BE01211D2800C80112A88000DC00F9B07400F000E4E1C0010E00CB73558158".lowercase() "0000000508C41A28494E532E00018B16273000032000300130023003300430053006300730083009200A100B100C180D1398400B005E009E22E80002EB49D200000A15752A0000140ABA9500001E07270E000028055D4A800032044AA200003C0393870000460310BCDB005002AEA540005A02625A00006402255100006E01F360E8007801C9C380008201A68D13008C01885E6D0096016E360000A0015752A000AA0143209600B401312D0000BE01211D2800C80112A88000DC00F9B07400F000E4E1C0010E00CB73558158".lowercase()
Assert.assertArrayEquals( Assertions.assertArrayEquals(
Hex.decodeHex( Hex.decodeHex(
expected expected
), ),
@ -137,7 +140,7 @@ class ProgramBasalCommandTest {
val expected = val expected =
"000000051C981A2C494E532E00046D162178000B101E101D101C101B101A301938173816101458123810380E300D180B100A180613684008013F008954400258005B8D800244005EB5B002300062179B021C0065B9AA02080069A34403E8006DDD0003AC0074E0360384007A12000190008954400456009476C1029400A675A2024400BD6B61020800D3468900E600EED54D00C80112A880008201A68D13809b" "000000051C981A2C494E532E00046D162178000B101E101D101C101B101A301938173816101458123810380E300D180B100A180613684008013F008954400258005B8D800244005EB5B002300062179B021C0065B9AA02080069A34403E8006DDD0003AC0074E0360384007A12000190008954400456009476C1029400A675A2024400BD6B61020800D3468900E600EED54D00C80112A880008201A68D13809b"
Assert.assertArrayEquals( Assertions.assertArrayEquals(
Hex.decodeHex( Hex.decodeHex(
expected expected
), ),
@ -174,7 +177,7 @@ class ProgramBasalCommandTest {
val expected = val expected =
"0000000528581A1C494E532E00038E161E50000E100538075000780DB01B701D58091801133840040A100032DC82006402255100012C016E36000006EB49D200043800CB73550CA80065B9AA0910005EB5B0023A01211D28001E07270E000065" "0000000528581A1C494E532E00038E161E50000E100538075000780DB01B701D58091801133840040A100032DC82006402255100012C016E36000006EB49D200043800CB73550CA80065B9AA0910005EB5B0023A01211D28001E07270E000065"
Assert.assertArrayEquals( Assertions.assertArrayEquals(
Hex.decodeHex( Hex.decodeHex(
expected expected
), ),

View file

@ -4,7 +4,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.ProgramReminder import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.ProgramReminder
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class ProgramBeepsCommandTest { class ProgramBeepsCommandTest {
@ -20,6 +20,6 @@ class ProgramBeepsCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("024200022C061E0402000000800F"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("024200022C061E0402000000800F"), encoded)
} }
} }

View file

@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.ProgramReminder import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.ProgramReminder
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class ProgramBolusCommandTest { class ProgramBolusCommandTest {
@ -19,7 +19,7 @@ class ProgramBolusCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals( Assertions.assertArrayEquals(
Hex.decodeHex("02420001381F1A0E494E532E02010F01064000640064170D4003E800030D4000000000000080F6"), Hex.decodeHex("02420001381F1A0E494E532E02010F01064000640064170D4003E800030D4000000000000080F6"),
encoded encoded
) )

View file

@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.ProgramReminder import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.ProgramReminder
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class ProgramTempBasalCommandTest { class ProgramTempBasalCommandTest {
@ -15,10 +15,10 @@ class ProgramTempBasalCommandTest {
.setSequenceNumber(15.toShort()) .setSequenceNumber(15.toShort())
.setRateInUnitsPerHour(5.05) .setRateInUnitsPerHour(5.05)
.setDurationInMinutes(60.toShort()) .setDurationInMinutes(60.toShort())
.setProgramReminder(ProgramReminder(false, true, 0.toByte())) .setProgramReminder(ProgramReminder(atStart = false, atEnd = true, atInterval = 0.toByte()))
.build() .build()
Assert.assertArrayEquals( Assertions.assertArrayEquals(
Hex.decodeHex("024200013C201A0E494E532E01011102384000321832160E400003F20036634403F20036634482A6"), Hex.decodeHex("024200013C201A0E494E532E01011102384000321832160E400003F20036634403F20036634482A6"),
command.encoded command.encoded
) )
@ -31,10 +31,10 @@ class ProgramTempBasalCommandTest {
.setSequenceNumber(7.toShort()) .setSequenceNumber(7.toShort())
.setRateInUnitsPerHour(0.0) .setRateInUnitsPerHour(0.0)
.setDurationInMinutes(300.toShort()) .setDurationInMinutes(300.toShort())
.setProgramReminder(ProgramReminder(true, true, 0.toByte())) .setProgramReminder(ProgramReminder(atStart = true, atEnd = true, atInterval = 0.toByte()))
.build() .build()
Assert.assertArrayEquals( Assertions.assertArrayEquals(
Hex.decodeHex("024200011C201A0E494E532E0100820A384000009000160EC000000A6B49D200000A6B49D20001E3"), Hex.decodeHex("024200011C201A0E494E532E0100820A384000009000160EC000000A6B49D200000A6B49D20001E3"),
command.encoded command.encoded
) )
@ -47,10 +47,10 @@ class ProgramTempBasalCommandTest {
.setSequenceNumber(7.toShort()) .setSequenceNumber(7.toShort())
.setRateInUnitsPerHour(0.0) .setRateInUnitsPerHour(0.0)
.setDurationInMinutes(30.toShort()) .setDurationInMinutes(30.toShort())
.setProgramReminder(ProgramReminder(true, true, 0.toByte())) .setProgramReminder(ProgramReminder(atStart = true, atEnd = true, atInterval = 0.toByte()))
.build() .build()
Assert.assertArrayEquals( Assertions.assertArrayEquals(
Hex.decodeHex("024200011C201A0E494E532E01007901384000000000160EC00000016B49D2000001EB49D200815B"), Hex.decodeHex("024200011C201A0E494E532E01007901384000000000160EC00000016B49D2000001EB49D200815B"),
command.encoded command.encoded
) )
@ -63,10 +63,10 @@ class ProgramTempBasalCommandTest {
.setSequenceNumber(7.toShort()) .setSequenceNumber(7.toShort())
.setRateInUnitsPerHour(0.0) .setRateInUnitsPerHour(0.0)
.setDurationInMinutes(720.toShort()) .setDurationInMinutes(720.toShort())
.setProgramReminder(ProgramReminder(true, true, 0.toByte())) .setProgramReminder(ProgramReminder(atStart = true, atEnd = true, atInterval = 0.toByte()))
.build() .build()
Assert.assertArrayEquals( Assertions.assertArrayEquals(
Hex.decodeHex("024200011C221A10494E532E0100901838400000F0007000160EC00000186B49D20000186B49D2000132"), Hex.decodeHex("024200011C221A10494E532E0100901838400000F0007000160EC00000186B49D20000186B49D2000132"),
command.encoded command.encoded
) )

View file

@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import java.util.Date import java.util.Date
@ -18,6 +18,6 @@ class SetUniqueIdCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("FFFFFFFF18150313024200031404020A150E2908146CC1000A67278344"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("FFFFFFFF18150313024200031404020A150E2908146CC1000A67278344"), encoded)
} }
} }

View file

@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.AlertType import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.AlertType
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import java.util.EnumSet import java.util.EnumSet
@ -18,7 +18,7 @@ class SilenceAlertsCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("0242000304071105494E532E1081CE"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("0242000304071105494E532E1081CE"), encoded)
} }
// TODO capture more silence alerts commands // TODO capture more silence alerts commands

View file

@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BeepType import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BeepType
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class StopDeliveryCommandTest { class StopDeliveryCommandTest {
@ -18,7 +18,7 @@ class StopDeliveryCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("0242000300071F05494E532E6201B1"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("0242000300071F05494E532E6201B1"), encoded)
} }
@Test @Throws(DecoderException::class) fun testSuspendDelivery() { @Test @Throws(DecoderException::class) fun testSuspendDelivery() {
@ -31,7 +31,7 @@ class StopDeliveryCommandTest {
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("0242000308071F05494E532E078287"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("0242000308071F05494E532E078287"), encoded)
} }
// TODO test cancel bolus // TODO test cancel bolus

View file

@ -3,10 +3,11 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BeepType import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BeepType
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class SuspendDeliveryCommandTest { class SuspendDeliveryCommandTest {
@Test @Throws(DecoderException::class) fun testSuspendDelivery() { @Test @Throws(DecoderException::class) fun testSuspendDelivery() {
val encoded = SuspendDeliveryCommand.Builder() val encoded = SuspendDeliveryCommand.Builder()
.setUniqueId(37879811) .setUniqueId(37879811)
@ -15,6 +16,6 @@ class SuspendDeliveryCommandTest {
.setBeepType(BeepType.LONG_SINGLE_BEEP) .setBeepType(BeepType.LONG_SINGLE_BEEP)
.build() .build()
.encoded .encoded
Assert.assertArrayEquals(Hex.decodeHex("0242000300131f05494e532e67190a494e532e680000140302811f"), encoded) Assertions.assertArrayEquals(Hex.decodeHex("0242000300131f05494e532e67190a494e532e680000140302811f"), encoded)
} }
} }

View file

@ -5,7 +5,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class AlarmStatusResponseTest { class AlarmStatusResponseTest {
@ -14,31 +14,31 @@ class AlarmStatusResponseTest {
val encoded = Hex.decodeHex("021602080100000501BD00000003FF01950000000000670A") val encoded = Hex.decodeHex("021602080100000501BD00000003FF01950000000000670A")
val response = AlarmStatusResponse(encoded) val response = AlarmStatusResponse(encoded)
Assert.assertArrayEquals(encoded, response.encoded) Assertions.assertArrayEquals(encoded, response.encoded)
Assert.assertNotSame(encoded, response.encoded) Assertions.assertNotSame(encoded, response.encoded)
Assert.assertEquals(ResponseType.ADDITIONAL_STATUS_RESPONSE, response.responseType) Assertions.assertEquals(ResponseType.ADDITIONAL_STATUS_RESPONSE, response.responseType)
Assert.assertEquals(ResponseType.ADDITIONAL_STATUS_RESPONSE.value, response.messageType) Assertions.assertEquals(ResponseType.ADDITIONAL_STATUS_RESPONSE.value, response.messageType)
Assert.assertEquals(ResponseType.StatusResponseType.ALARM_STATUS, response.statusResponseType) Assertions.assertEquals(ResponseType.StatusResponseType.ALARM_STATUS, response.statusResponseType)
Assert.assertEquals(ResponseType.StatusResponseType.ALARM_STATUS.value, response.additionalStatusResponseType) Assertions.assertEquals(ResponseType.StatusResponseType.ALARM_STATUS.value, response.additionalStatusResponseType)
Assert.assertEquals(PodStatus.RUNNING_ABOVE_MIN_VOLUME, response.podStatus) Assertions.assertEquals(PodStatus.RUNNING_ABOVE_MIN_VOLUME, response.podStatus)
Assert.assertEquals(DeliveryStatus.BASAL_ACTIVE, response.deliveryStatus) Assertions.assertEquals(DeliveryStatus.BASAL_ACTIVE, response.deliveryStatus)
Assert.assertEquals(0.toShort(), response.bolusPulsesRemaining) Assertions.assertEquals(0.toShort(), response.bolusPulsesRemaining)
Assert.assertEquals(5.toShort(), response.sequenceNumberOfLastProgrammingCommand) Assertions.assertEquals(5.toShort(), response.sequenceNumberOfLastProgrammingCommand)
Assert.assertEquals(445.toShort(), response.totalPulsesDelivered) Assertions.assertEquals(445.toShort(), response.totalPulsesDelivered)
Assert.assertEquals(AlarmType.NONE, response.alarmType) Assertions.assertEquals(AlarmType.NONE, response.alarmType)
Assert.assertEquals(0.toShort(), response.alarmTime) Assertions.assertEquals(0.toShort(), response.alarmTime)
Assert.assertEquals(1023.toShort(), response.reservoirPulsesRemaining) Assertions.assertEquals(1023.toShort(), response.reservoirPulsesRemaining)
Assert.assertEquals(405.toShort(), response.minutesSinceActivation) Assertions.assertEquals(405.toShort(), response.minutesSinceActivation)
Assert.assertEquals(0, response.activeAlerts.size) Assertions.assertEquals(0, response.activeAlerts.size)
Assert.assertFalse(response.occlusionAlarm) Assertions.assertFalse(response.occlusionAlarm)
Assert.assertFalse(response.pulseInfoInvalid) Assertions.assertFalse(response.pulseInfoInvalid)
Assert.assertEquals(PodStatus.UNINITIALIZED, response.podStatusWhenAlarmOccurred) Assertions.assertEquals(PodStatus.UNINITIALIZED, response.podStatusWhenAlarmOccurred)
Assert.assertFalse(response.immediateBolusWhenAlarmOccurred) Assertions.assertFalse(response.immediateBolusWhenAlarmOccurred)
Assert.assertEquals(0x00.toByte(), response.occlusionType) Assertions.assertEquals(0x00.toByte(), response.occlusionType)
Assert.assertFalse(response.occurredWhenFetchingImmediateBolusActiveInformation) Assertions.assertFalse(response.occurredWhenFetchingImmediateBolusActiveInformation)
Assert.assertEquals(0.toShort(), response.rssi) Assertions.assertEquals(0.toShort(), response.rssi)
Assert.assertEquals(0.toShort(), response.receiverLowerGain) Assertions.assertEquals(0.toShort(), response.receiverLowerGain)
Assert.assertEquals(PodStatus.UNINITIALIZED, response.podStatusWhenAlarmOccurred2) Assertions.assertEquals(PodStatus.UNINITIALIZED, response.podStatusWhenAlarmOccurred2)
Assert.assertEquals(26378.toShort(), response.returnAddressOfPodAlarmHandlerCaller) Assertions.assertEquals(26378.toShort(), response.returnAddressOfPodAlarmHandlerCaller)
} }
} }

View file

@ -5,7 +5,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class DefaultStatusResponseTest { class DefaultStatusResponseTest {
@ -13,169 +13,170 @@ class DefaultStatusResponseTest {
@Test @Throws(DecoderException::class) fun testValidResponse() { @Test @Throws(DecoderException::class) fun testValidResponse() {
val encoded = Hex.decodeHex("1D1800A02800000463FF") val encoded = Hex.decodeHex("1D1800A02800000463FF")
val response = DefaultStatusResponse(encoded) val response = DefaultStatusResponse(encoded)
Assert.assertArrayEquals(encoded, response.encoded) Assertions.assertArrayEquals(encoded, response.encoded)
Assert.assertNotSame(encoded, response.encoded) Assertions.assertNotSame(encoded, response.encoded)
Assert.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE, response.responseType) Assertions.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE, response.responseType)
Assert.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE.value, response.messageType) Assertions.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE.value, response.messageType)
Assert.assertEquals(DeliveryStatus.BASAL_ACTIVE, response.deliveryStatus) Assertions.assertEquals(DeliveryStatus.BASAL_ACTIVE, response.deliveryStatus)
Assert.assertEquals(PodStatus.RUNNING_ABOVE_MIN_VOLUME, response.podStatus) Assertions.assertEquals(PodStatus.RUNNING_ABOVE_MIN_VOLUME, response.podStatus)
Assert.assertEquals(320.toShort(), response.totalPulsesDelivered) Assertions.assertEquals(320.toShort(), response.totalPulsesDelivered)
Assert.assertEquals(5.toShort(), response.sequenceNumberOfLastProgrammingCommand) Assertions.assertEquals(5.toShort(), response.sequenceNumberOfLastProgrammingCommand)
Assert.assertEquals(0.toShort(), response.bolusPulsesRemaining) Assertions.assertEquals(0.toShort(), response.bolusPulsesRemaining)
Assert.assertEquals(0, response.activeAlerts.size) Assertions.assertEquals(0, response.activeAlerts.size)
Assert.assertEquals(280.toShort(), response.minutesSinceActivation) Assertions.assertEquals(280.toShort(), response.minutesSinceActivation)
Assert.assertEquals(1023.toShort(), response.reservoirPulsesRemaining) Assertions.assertEquals(1023.toShort(), response.reservoirPulsesRemaining)
} }
/** /**
* response (hex) 1D1905281000004387D3039A * response (hex) 1D1905281000004387D3039A
Status response: 29 Status response: 29
Pod status: RUNNING_BELOW_MIN_VOLUME Pod status: RUNNING_BELOW_MIN_VOLUME
Basal active: true Basal active: true
Temp Basal active: false Temp Basal active: false
Immediate bolus active: false Immediate bolus active: false
Extended bolus active: false Extended bolus active: false
Bolus pulses remaining: 0 Bolus pulses remaining: 0
sequence number of last programing command: 2 sequence number of last programing command: 2
Total full pulses delivered: 2640 Total full pulses delivered: 2640
Full reservoir pulses remaining: 979 Full reservoir pulses remaining: 979
Time since activation: 4321 Time since activation: 4321
Alert 1 is InActive Alert 1 is InActive
Alert 2 is InActive Alert 2 is InActive
Alert 3 is InActive Alert 3 is InActive
Alert 4 is InActive Alert 4 is InActive
Alert 5 is InActive Alert 5 is InActive
Alert 6 is InActive Alert 6 is InActive
Alert 7 is InActive Alert 7 is InActive
Occlusion alert active false Occlusion alert active false
*/ */
@Test @Throws(DecoderException::class) fun testValidResponseBelowMin() { @Test @Throws(DecoderException::class) fun testValidResponseBelowMin() {
val encoded = Hex.decodeHex("1D1905281000004387D3039A") val encoded = Hex.decodeHex("1D1905281000004387D3039A")
val response = DefaultStatusResponse(encoded) val response = DefaultStatusResponse(encoded)
Assert.assertArrayEquals(encoded, response.encoded) Assertions.assertArrayEquals(encoded, response.encoded)
Assert.assertNotSame(encoded, response.encoded) Assertions.assertNotSame(encoded, response.encoded)
Assert.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE, response.responseType) Assertions.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE, response.responseType)
Assert.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE.value, response.messageType) Assertions.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE.value, response.messageType)
Assert.assertEquals(DeliveryStatus.BASAL_ACTIVE, response.deliveryStatus) Assertions.assertEquals(DeliveryStatus.BASAL_ACTIVE, response.deliveryStatus)
Assert.assertEquals(PodStatus.RUNNING_BELOW_MIN_VOLUME, response.podStatus) Assertions.assertEquals(PodStatus.RUNNING_BELOW_MIN_VOLUME, response.podStatus)
Assert.assertEquals(2.toShort(), response.sequenceNumberOfLastProgrammingCommand) Assertions.assertEquals(2.toShort(), response.sequenceNumberOfLastProgrammingCommand)
Assert.assertEquals(0.toShort(), response.bolusPulsesRemaining) Assertions.assertEquals(0.toShort(), response.bolusPulsesRemaining)
Assert.assertEquals(0, response.activeAlerts.size) Assertions.assertEquals(0, response.activeAlerts.size)
Assert.assertEquals(4321.toShort(), response.minutesSinceActivation) Assertions.assertEquals(4321.toShort(), response.minutesSinceActivation)
Assert.assertEquals(979.toShort(), response.reservoirPulsesRemaining) Assertions.assertEquals(979.toShort(), response.reservoirPulsesRemaining)
Assert.assertEquals(2640.toShort(), response.totalPulsesDelivered) Assertions.assertEquals(2640.toShort(), response.totalPulsesDelivered)
} }
/** /**
* response (hex) 1D180519C00E0039A7FF8085 * response (hex) 1D180519C00E0039A7FF8085
Status response: 29 Status response: 29
Pod status: RUNNING_ABOVE_MIN_VOLUME Pod status: RUNNING_ABOVE_MIN_VOLUME
Basal active: true Basal active: true
Temp Basal active: false Temp Basal active: false
Immediate bolus active: false Immediate bolus active: false
Extended bolus active: false Extended bolus active: false
Bolus pulses remaining: 14 Bolus pulses remaining: 14
sequence number of last programing command: 8 sequence number of last programing command: 8
Total full pulses delivered: 2611 Total full pulses delivered: 2611
Full reservoir pulses remaining: 1023 Full reservoir pulses remaining: 1023
Time since activation: 3689 Time since activation: 3689
Alert 1 is InActive Alert 1 is InActive
Alert 2 is InActive Alert 2 is InActive
Alert 3 is InActive Alert 3 is InActive
Alert 4 is InActive Alert 4 is InActive
Alert 5 is InActive Alert 5 is InActive
Alert 6 is InActive Alert 6 is InActive
Alert 7 is InActive Alert 7 is InActive
Occlusion alert active false Occlusion alert active false
*/ */
@Test @Throws(DecoderException::class) fun testValidResponseBolusPulsesRemaining() { @Test @Throws(DecoderException::class) fun testValidResponseBolusPulsesRemaining() {
val encoded = Hex.decodeHex("1D180519C00E0039A7FF8085") val encoded = Hex.decodeHex("1D180519C00E0039A7FF8085")
val response = DefaultStatusResponse(encoded) val response = DefaultStatusResponse(encoded)
Assert.assertArrayEquals(encoded, response.encoded) Assertions.assertArrayEquals(encoded, response.encoded)
Assert.assertNotSame(encoded, response.encoded) Assertions.assertNotSame(encoded, response.encoded)
Assert.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE, response.responseType) Assertions.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE, response.responseType)
Assert.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE.value, response.messageType) Assertions.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE.value, response.messageType)
Assert.assertEquals(DeliveryStatus.BASAL_ACTIVE, response.deliveryStatus) Assertions.assertEquals(DeliveryStatus.BASAL_ACTIVE, response.deliveryStatus)
Assert.assertEquals(PodStatus.RUNNING_ABOVE_MIN_VOLUME, response.podStatus) Assertions.assertEquals(PodStatus.RUNNING_ABOVE_MIN_VOLUME, response.podStatus)
Assert.assertEquals(8.toShort(), response.sequenceNumberOfLastProgrammingCommand) Assertions.assertEquals(8.toShort(), response.sequenceNumberOfLastProgrammingCommand)
Assert.assertEquals(14.toShort(), response.bolusPulsesRemaining) Assertions.assertEquals(14.toShort(), response.bolusPulsesRemaining)
Assert.assertEquals(0, response.activeAlerts.size) Assertions.assertEquals(0, response.activeAlerts.size)
Assert.assertEquals(3689.toShort(), response.minutesSinceActivation) Assertions.assertEquals(3689.toShort(), response.minutesSinceActivation)
Assert.assertEquals(1023.toShort(), response.reservoirPulsesRemaining) Assertions.assertEquals(1023.toShort(), response.reservoirPulsesRemaining)
Assert.assertEquals(2611.toShort(), response.totalPulsesDelivered) Assertions.assertEquals(2611.toShort(), response.totalPulsesDelivered)
} }
/** response (hex) 1D990714201F0042ED8801DE /** response (hex) 1D990714201F0042ED8801DE
Status response: 29 Status response: 29
Pod status: RUNNING_BELOW_MIN_VOLUME Pod status: RUNNING_BELOW_MIN_VOLUME
Basal active: true Basal active: true
Temp Basal active: false Temp Basal active: false
Immediate bolus active: false Immediate bolus active: false
Extended bolus active: true Extended bolus active: true
Bolus pulses remaining: 31 Bolus pulses remaining: 31
sequence number of last programing command: 4 sequence number of last programing command: 4
Total full pulses delivered: 3624 Total full pulses delivered: 3624
Full reservoir pulses remaining: 392 Full reservoir pulses remaining: 392
Time since activation: 4283 Time since activation: 4283
*/ */
@Test @Throws(DecoderException::class) fun testValidResponseReservoirPulsesRemaining() { @Test @Throws(DecoderException::class) fun testValidResponseReservoirPulsesRemaining() {
val encoded = Hex.decodeHex("1D990714201F0042ED8801DE") val encoded = Hex.decodeHex("1D990714201F0042ED8801DE")
val response = DefaultStatusResponse(encoded) val response = DefaultStatusResponse(encoded)
Assert.assertArrayEquals(encoded, response.encoded) Assertions.assertArrayEquals(encoded, response.encoded)
Assert.assertNotSame(encoded, response.encoded) Assertions.assertNotSame(encoded, response.encoded)
Assert.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE, response.responseType) Assertions.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE, response.responseType)
Assert.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE.value, response.messageType) Assertions.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE.value, response.messageType)
Assert.assertEquals(DeliveryStatus.UNKNOWN, response.deliveryStatus) // Extended bolus active Assertions.assertEquals(DeliveryStatus.UNKNOWN, response.deliveryStatus) // Extended bolus active
Assert.assertEquals(PodStatus.RUNNING_BELOW_MIN_VOLUME, response.podStatus) Assertions.assertEquals(PodStatus.RUNNING_BELOW_MIN_VOLUME, response.podStatus)
Assert.assertEquals(4.toShort(), response.sequenceNumberOfLastProgrammingCommand) Assertions.assertEquals(4.toShort(), response.sequenceNumberOfLastProgrammingCommand)
Assert.assertEquals(31.toShort(), response.bolusPulsesRemaining) Assertions.assertEquals(31.toShort(), response.bolusPulsesRemaining)
Assert.assertEquals(0, response.activeAlerts.size) Assertions.assertEquals(0, response.activeAlerts.size)
Assert.assertEquals(4283.toShort(), response.minutesSinceActivation) Assertions.assertEquals(4283.toShort(), response.minutesSinceActivation)
Assert.assertEquals(392.toShort(), response.reservoirPulsesRemaining) Assertions.assertEquals(392.toShort(), response.reservoirPulsesRemaining)
Assert.assertEquals(3624.toShort(), response.totalPulsesDelivered) Assertions.assertEquals(3624.toShort(), response.totalPulsesDelivered)
} }
/** response (hex) 1d68002601f400002bff0368 /** response (hex) 1d68002601f400002bff0368
Status response: 29 Status response: 29
Pod status: RUNNING_BELOW_MIN_VOLUME Pod status: RUNNING_BELOW_MIN_VOLUME
Basal active: true Basal active: true
Temp Basal active: false Temp Basal active: false
Immediate bolus active: false Immediate bolus active: false
Extended bolus active: true Extended bolus active: true
Bolus pulses remaining: 31 Bolus pulses remaining: 31
sequence number of last programing command: 4 sequence number of last programing command: 4
Total full pulses delivered: 3624 Total full pulses delivered: 3624
Full reservoir pulses remaining: 392 Full reservoir pulses remaining: 392
Time since activation: 4283 Time since activation: 4283
*/ */
@Test @Throws(DecoderException::class) fun testValidResponseBolusPulsesRemaining3() { @Test @Throws(DecoderException::class) fun testValidResponseBolusPulsesRemaining3() {
val encoded = Hex.decodeHex("1d68002601f400002bff0368") val encoded = Hex.decodeHex("1d68002601f400002bff0368")
val response = DefaultStatusResponse(encoded) val response = DefaultStatusResponse(encoded)
Assert.assertArrayEquals(encoded, response.encoded) Assertions.assertArrayEquals(encoded, response.encoded)
Assert.assertNotSame(encoded, response.encoded) Assertions.assertNotSame(encoded, response.encoded)
Assert.assertEquals(500.toShort(), response.bolusPulsesRemaining) Assertions.assertEquals(500.toShort(), response.bolusPulsesRemaining)
Assert.assertEquals(0, response.activeAlerts.size) Assertions.assertEquals(0, response.activeAlerts.size)
} }
/** response (hex) 1d28002e91e400002fff8256 /** response (hex) 1d28002e91e400002fff8256
Status response: 29 Status response: 29
Pod status: RUNNING_BELOW_MIN_VOLUME Pod status: RUNNING_BELOW_MIN_VOLUME
Basal active: true Basal active: true
Temp Basal active: false Temp Basal active: false
Immediate bolus active: false Immediate bolus active: false
Extended bolus active: true Extended bolus active: true
Bolus pulses remaining: 31 Bolus pulses remaining: 31
sequence number of last programing command: 4 sequence number of last programing command: 4
Total full pulses delivered: 3624 Total full pulses delivered: 3624
Full reservoir pulses remaining: 392 Full reservoir pulses remaining: 392
Time since activation: 4283 Time since activation: 4283
*/ */
@Test @Throws(DecoderException::class) fun testValidResponseBolusPulsesRemaining4() { @Test @Throws(DecoderException::class) fun testValidResponseBolusPulsesRemaining4() {
val encoded = Hex.decodeHex("1d28002e91e400002fff8256") val encoded = Hex.decodeHex("1d28002e91e400002fff8256")
val response = DefaultStatusResponse(encoded) val response = DefaultStatusResponse(encoded)
Assert.assertArrayEquals(encoded, response.encoded) Assertions.assertArrayEquals(encoded, response.encoded)
Assert.assertNotSame(encoded, response.encoded) Assertions.assertNotSame(encoded, response.encoded)
Assert.assertEquals(484.toShort(), response.bolusPulsesRemaining) Assertions.assertEquals(484.toShort(), response.bolusPulsesRemaining)
Assert.assertEquals(0, response.activeAlerts.size) Assertions.assertEquals(0, response.activeAlerts.size)
} }
/* /*
@ -202,18 +203,18 @@ class DefaultStatusResponseTest {
@Test @Throws(DecoderException::class) fun testValidResponseActiveAlert1() { @Test @Throws(DecoderException::class) fun testValidResponseActiveAlert1() {
val encoded = Hex.decodeHex("1D980559C820404393FF83AA") val encoded = Hex.decodeHex("1D980559C820404393FF83AA")
val response = DefaultStatusResponse(encoded) val response = DefaultStatusResponse(encoded)
Assert.assertArrayEquals(encoded, response.encoded) Assertions.assertArrayEquals(encoded, response.encoded)
Assert.assertNotSame(encoded, response.encoded) Assertions.assertNotSame(encoded, response.encoded)
Assert.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE, response.responseType) Assertions.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE, response.responseType)
Assert.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE.value, response.messageType) Assertions.assertEquals(ResponseType.DEFAULT_STATUS_RESPONSE.value, response.messageType)
Assert.assertEquals(DeliveryStatus.UNKNOWN, response.deliveryStatus) Assertions.assertEquals(DeliveryStatus.UNKNOWN, response.deliveryStatus)
Assert.assertEquals(PodStatus.RUNNING_ABOVE_MIN_VOLUME, response.podStatus) Assertions.assertEquals(PodStatus.RUNNING_ABOVE_MIN_VOLUME, response.podStatus)
Assert.assertEquals(9.toShort(), response.sequenceNumberOfLastProgrammingCommand) Assertions.assertEquals(9.toShort(), response.sequenceNumberOfLastProgrammingCommand)
Assert.assertEquals(32.toShort(), response.bolusPulsesRemaining) Assertions.assertEquals(32.toShort(), response.bolusPulsesRemaining)
Assert.assertEquals(1, response.activeAlerts.size) Assertions.assertEquals(1, response.activeAlerts.size)
Assert.assertEquals(4324.toShort(), response.minutesSinceActivation) Assertions.assertEquals(4324.toShort(), response.minutesSinceActivation)
Assert.assertEquals(1023.toShort(), response.reservoirPulsesRemaining) Assertions.assertEquals(1023.toShort(), response.reservoirPulsesRemaining)
Assert.assertEquals(2739.toShort(), response.totalPulsesDelivered) Assertions.assertEquals(2739.toShort(), response.totalPulsesDelivered)
Assert.assertEquals(true, response.activeAlerts.contains(AlertType.EXPIRATION)) Assertions.assertEquals(true, response.activeAlerts.contains(AlertType.EXPIRATION))
} }
} }

View file

@ -5,7 +5,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class NakResponseTest { class NakResponseTest {
@ -14,13 +14,13 @@ class NakResponseTest {
val encoded = Hex.decodeHex("0603070009") val encoded = Hex.decodeHex("0603070009")
val response = NakResponse(encoded) val response = NakResponse(encoded)
Assert.assertArrayEquals(encoded, response.encoded) Assertions.assertArrayEquals(encoded, response.encoded)
Assert.assertNotSame(encoded, response.encoded) Assertions.assertNotSame(encoded, response.encoded)
Assert.assertEquals(ResponseType.NAK_RESPONSE, response.responseType) Assertions.assertEquals(ResponseType.NAK_RESPONSE, response.responseType)
Assert.assertEquals(ResponseType.NAK_RESPONSE.value, response.messageType) Assertions.assertEquals(ResponseType.NAK_RESPONSE.value, response.messageType)
Assert.assertEquals(NakErrorType.ILLEGAL_PARAM, response.nakErrorType) Assertions.assertEquals(NakErrorType.ILLEGAL_PARAM, response.nakErrorType)
Assert.assertEquals(AlarmType.NONE, response.alarmType) Assertions.assertEquals(AlarmType.NONE, response.alarmType)
Assert.assertEquals(PodStatus.RUNNING_BELOW_MIN_VOLUME, response.podStatus) Assertions.assertEquals(PodStatus.RUNNING_BELOW_MIN_VOLUME, response.podStatus)
Assert.assertEquals(0x00.toShort(), response.securityNakSyncCount) Assertions.assertEquals(0x00.toShort(), response.securityNakSyncCount)
} }
} }

View file

@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class SetUniqueIdResponseTest { class SetUniqueIdResponseTest {
@ -12,28 +12,28 @@ class SetUniqueIdResponseTest {
val encoded = Hex.decodeHex("011B13881008340A50040A00010300040308146CC1000954D402420001") val encoded = Hex.decodeHex("011B13881008340A50040A00010300040308146CC1000954D402420001")
val response = SetUniqueIdResponse(encoded) val response = SetUniqueIdResponse(encoded)
Assert.assertArrayEquals(encoded, response.encoded) Assertions.assertArrayEquals(encoded, response.encoded)
Assert.assertNotSame(encoded, response.encoded) Assertions.assertNotSame(encoded, response.encoded)
Assert.assertEquals(ResponseType.ACTIVATION_RESPONSE, response.responseType) Assertions.assertEquals(ResponseType.ACTIVATION_RESPONSE, response.responseType)
Assert.assertEquals(ResponseType.ActivationResponseType.SET_UNIQUE_ID_RESPONSE, response.activationResponseType) Assertions.assertEquals(ResponseType.ActivationResponseType.SET_UNIQUE_ID_RESPONSE, response.activationResponseType)
Assert.assertEquals(ResponseType.ACTIVATION_RESPONSE.value, response.messageType) Assertions.assertEquals(ResponseType.ACTIVATION_RESPONSE.value, response.messageType)
Assert.assertEquals(27.toShort(), response.messageLength) Assertions.assertEquals(27.toShort(), response.messageLength)
Assert.assertEquals(5000.toShort(), response.pulseVolumeInTenThousandthMicroLiter) Assertions.assertEquals(5000.toShort(), response.pulseVolumeInTenThousandthMicroLiter)
Assert.assertEquals(16.toShort(), response.pumpRate) Assertions.assertEquals(16.toShort(), response.pumpRate)
Assert.assertEquals(8.toShort(), response.primePumpRate) Assertions.assertEquals(8.toShort(), response.primePumpRate)
Assert.assertEquals(52.toShort(), response.numberOfEngagingClutchDrivePulses) Assertions.assertEquals(52.toShort(), response.numberOfEngagingClutchDrivePulses)
Assert.assertEquals(10.toShort(), response.numberOfPrimePulses) Assertions.assertEquals(10.toShort(), response.numberOfPrimePulses)
Assert.assertEquals(80.toShort(), response.podExpirationTimeInHours) Assertions.assertEquals(80.toShort(), response.podExpirationTimeInHours)
Assert.assertEquals(4.toShort(), response.firmwareVersionMajor) Assertions.assertEquals(4.toShort(), response.firmwareVersionMajor)
Assert.assertEquals(10.toShort(), response.firmwareVersionMinor) Assertions.assertEquals(10.toShort(), response.firmwareVersionMinor)
Assert.assertEquals(0.toShort(), response.firmwareVersionInterim) Assertions.assertEquals(0.toShort(), response.firmwareVersionInterim)
Assert.assertEquals(1.toShort(), response.bleVersionMajor) Assertions.assertEquals(1.toShort(), response.bleVersionMajor)
Assert.assertEquals(3.toShort(), response.bleVersionMinor) Assertions.assertEquals(3.toShort(), response.bleVersionMinor)
Assert.assertEquals(0.toShort(), response.bleVersionInterim) Assertions.assertEquals(0.toShort(), response.bleVersionInterim)
Assert.assertEquals(4.toShort(), response.productId) Assertions.assertEquals(4.toShort(), response.productId)
Assert.assertEquals(PodStatus.UID_SET, response.podStatus) Assertions.assertEquals(PodStatus.UID_SET, response.podStatus)
Assert.assertEquals(135556289L, response.lotNumber) Assertions.assertEquals(135556289L, response.lotNumber)
Assert.assertEquals(611540L, response.podSequenceNumber) Assertions.assertEquals(611540L, response.podSequenceNumber)
Assert.assertEquals(37879809L, response.uniqueIdReceivedInCommand) Assertions.assertEquals(37879809L, response.uniqueIdReceivedInCommand)
} }
} }

View file

@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus
import org.apache.commons.codec.DecoderException import org.apache.commons.codec.DecoderException
import org.apache.commons.codec.binary.Hex import org.apache.commons.codec.binary.Hex
import org.junit.Assert import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
class VersionResponseTest { class VersionResponseTest {
@ -12,24 +12,24 @@ class VersionResponseTest {
val encoded = Hex.decodeHex("0115040A00010300040208146CC1000954D400FFFFFFFF") val encoded = Hex.decodeHex("0115040A00010300040208146CC1000954D400FFFFFFFF")
val response = VersionResponse(encoded) val response = VersionResponse(encoded)
Assert.assertArrayEquals(encoded, response.encoded) Assertions.assertArrayEquals(encoded, response.encoded)
Assert.assertNotSame(encoded, response.encoded) Assertions.assertNotSame(encoded, response.encoded)
Assert.assertEquals(ResponseType.ACTIVATION_RESPONSE, response.responseType) Assertions.assertEquals(ResponseType.ACTIVATION_RESPONSE, response.responseType)
Assert.assertEquals(ResponseType.ActivationResponseType.GET_VERSION_RESPONSE, response.activationResponseType) Assertions.assertEquals(ResponseType.ActivationResponseType.GET_VERSION_RESPONSE, response.activationResponseType)
Assert.assertEquals(ResponseType.ACTIVATION_RESPONSE.value, response.messageType) Assertions.assertEquals(ResponseType.ACTIVATION_RESPONSE.value, response.messageType)
Assert.assertEquals(21.toShort(), response.messageLength) Assertions.assertEquals(21.toShort(), response.messageLength)
Assert.assertEquals(4.toShort(), response.firmwareVersionMajor) Assertions.assertEquals(4.toShort(), response.firmwareVersionMajor)
Assert.assertEquals(10.toShort(), response.firmwareVersionMinor) Assertions.assertEquals(10.toShort(), response.firmwareVersionMinor)
Assert.assertEquals(0.toShort(), response.firmwareVersionInterim) Assertions.assertEquals(0.toShort(), response.firmwareVersionInterim)
Assert.assertEquals(1.toShort(), response.bleVersionMajor) Assertions.assertEquals(1.toShort(), response.bleVersionMajor)
Assert.assertEquals(3.toShort(), response.bleVersionMinor) Assertions.assertEquals(3.toShort(), response.bleVersionMinor)
Assert.assertEquals(0.toShort(), response.bleVersionInterim) Assertions.assertEquals(0.toShort(), response.bleVersionInterim)
Assert.assertEquals(4.toShort(), response.productId) Assertions.assertEquals(4.toShort(), response.productId)
Assert.assertEquals(PodStatus.FILLED, response.podStatus) Assertions.assertEquals(PodStatus.FILLED, response.podStatus)
Assert.assertEquals(135556289L, response.lotNumber) Assertions.assertEquals(135556289L, response.lotNumber)
Assert.assertEquals(611540L, response.podSequenceNumber) Assertions.assertEquals(611540L, response.podSequenceNumber)
Assert.assertEquals(0.toByte(), response.rssi) Assertions.assertEquals(0.toByte(), response.rssi)
Assert.assertEquals(0.toByte(), response.receiverLowerGain) Assertions.assertEquals(0.toByte(), response.receiverLowerGain)
Assert.assertEquals(4294967295L, response.uniqueIdReceivedInCommand) Assertions.assertEquals(4294967295L, response.uniqueIdReceivedInCommand)
} }
} }

View file

@ -4,7 +4,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio
import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.Profile
import info.nightscout.interfaces.profile.Profile.ProfileValue import info.nightscout.interfaces.profile.Profile.ProfileValue
import org.junit.Assert import org.junit.Assert
import org.junit.Assert.assertEquals import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import org.mockito.Mockito import org.mockito.Mockito
import org.mockito.Mockito.`when` import org.mockito.Mockito.`when`
@ -24,19 +24,19 @@ class FunctionsTest {
val basalProgram: BasalProgram = mapProfileToBasalProgram(profile) val basalProgram: BasalProgram = mapProfileToBasalProgram(profile)
val entries: List<BasalProgram.Segment> = basalProgram.segments val entries: List<BasalProgram.Segment> = basalProgram.segments
assertEquals(3, entries.size) Assertions.assertEquals(3, entries.size)
val entry1: BasalProgram.Segment = entries[0] val entry1: BasalProgram.Segment = entries[0]
assertEquals(0.toShort(), entry1.startSlotIndex) Assertions.assertEquals(0.toShort(), entry1.startSlotIndex)
assertEquals(50, entry1.basalRateInHundredthUnitsPerHour) Assertions.assertEquals(50, entry1.basalRateInHundredthUnitsPerHour)
assertEquals(10.toShort(), entry1.endSlotIndex) Assertions.assertEquals(10.toShort(), entry1.endSlotIndex)
val entry2: BasalProgram.Segment = entries[1] val entry2: BasalProgram.Segment = entries[1]
assertEquals(10.toShort(), entry2.startSlotIndex) Assertions.assertEquals(10.toShort(), entry2.startSlotIndex)
assertEquals(100, entry2.basalRateInHundredthUnitsPerHour) Assertions.assertEquals(100, entry2.basalRateInHundredthUnitsPerHour)
assertEquals(28.toShort(), entry2.endSlotIndex) Assertions.assertEquals(28.toShort(), entry2.endSlotIndex)
val entry3: BasalProgram.Segment = entries[2] val entry3: BasalProgram.Segment = entries[2]
assertEquals(28.toShort(), entry3.startSlotIndex) Assertions.assertEquals(28.toShort(), entry3.startSlotIndex)
assertEquals(305, entry3.basalRateInHundredthUnitsPerHour) Assertions.assertEquals(305, entry3.basalRateInHundredthUnitsPerHour)
assertEquals(48.toShort(), entry3.endSlotIndex) Assertions.assertEquals(48.toShort(), entry3.endSlotIndex)
} }
@Test fun invalidProfileZeroEntries() { @Test fun invalidProfileZeroEntries() {
@ -108,6 +108,6 @@ class FunctionsTest {
val basalProgram: BasalProgram = mapProfileToBasalProgram(profile) val basalProgram: BasalProgram = mapProfileToBasalProgram(profile)
val basalProgramElement: BasalProgram.Segment = basalProgram.segments[0] val basalProgramElement: BasalProgram.Segment = basalProgram.segments[0]
assertEquals(5, basalProgramElement.basalRateInHundredthUnitsPerHour) Assertions.assertEquals(5, basalProgramElement.basalRateInHundredthUnitsPerHour)
} }
} }