package com.nightscout.core.dexcom;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
public class PacketBuilderTest {
@Test
public void testPingCommand() {
byte[] pingCommand = new byte[]{0x01, 0x06, 0x00, 0x0A, 0x5E, 0x65};
PacketBuilder builder = new PacketBuilder(Command.PING);
assertThat(builder.build(), is(pingCommand));
}
// Command: READ_DATABASE_PAGE_RANGE
// Packet: 01070010048BB8
// Command: READ_DATABASE_PAGE_RANGE
// Packet: 010700100A4559
// Command: READ_DATABASE_PAGE_RANGE
// Packet: 01070010036CC8
// Command: READ_DATABASE_PAGE_RANGE
// Packet: 0107001005AAA8
// Command: READ_DATABASE_PAGE_RANGE
// Packet: 01070010048BB8
// Command: READ_DATABASE_PAGE_RANGE
// Packet: 010700100A4559
// Command: READ_DATABASE_PAGE_RANGE
// Packet: 01070010036CC8
// Command: READ_DATABASE_PAGE_RANGE
// Packet: 0107001005AAA8
@Test
public void testReadDatabasePageRangeCommand() {
byte[] readDatabasePageRangeCommand = new byte[]{0x01, 0x07, 0x00, 0x10, 0x04, (byte) 0x8B, (byte) 0xB8};
List<Byte> payload = new ArrayList<>();
payload.add((byte) 0x04);
PacketBuilder builder = new PacketBuilder(Command.READ_DATABASE_PAGE_RANGE, payload);
assertThat(builder.build(), is(readDatabasePageRangeCommand));
}
// Command: READ_DATABASE_PAGES
// Packet: 010C00110488000000013263
// Command: READ_DATABASE_PAGES
// Packet: 010C001104890000000163C9
// Command: READ_DATABASE_PAGES
// Packet: 010C00110A01000000013D69
// Command: READ_DATABASE_PAGES
// Packet: 010C001103CE000000019E77
// Command: READ_DATABASE_PAGES
// Packet: 010C001103CF00000001CFDD
// Command: READ_DATABASE_PAGES
// Packet: 010C00110526000000015EC3
// Command: READ_DATABASE_PAGES
// Packet: 010C00110488000000013263
// Command: READ_DATABASE_PAGES
// Packet: 010C001104890000000163C9
// Command: READ_DATABASE_PAGES
// Packet: 010C00110A01000000013D69
// Command: READ_DATABASE_PAGES
// Packet: 010C001103CE000000019E77
// Command: READ_DATABASE_PAGES
// Packet: 010C001103CF00000001CFDD
// Command: READ_DATABASE_PAGES
// Packet: 010C00110526000000015EC3
@Test
public void testReadDatabasePagesCommand() {
byte[] readDatabasePages = new byte[]{0x01, 0x0C, 0x00, 0x11, 0x05, 0x26, 0x00, 0x00, 0x00, 0x01, 0x5E, (byte) 0xC3};
List<Byte> payload = new ArrayList<>();
payload.add((byte) 0x05);
payload.add((byte) 0x26);
payload.add((byte) 0x00);
payload.add((byte) 0x00);
payload.add((byte) 0x00);
payload.add((byte) 0x01);
PacketBuilder builder = new PacketBuilder(Command.READ_DATABASE_PAGES, payload);
assertThat(builder.build(), is(readDatabasePages));
}
// Command: READ_DISPLAY_TIME_OFFSET
// Packet: 0106001D8807
// Command: READ_DISPLAY_TIME_OFFSET
// Packet: 0106001D8807
@Test
public void testReadDisplayTimeOffsetCommand() {
byte[] readDatabasePages = new byte[]{0x01, 0x06, 0x00, 0x1D, (byte) 0x88, 0x07};
PacketBuilder builder = new PacketBuilder(Command.READ_DISPLAY_TIME_OFFSET);
assertThat(builder.build(), is(readDatabasePages));
}
// Command: READ_BATTERY_LEVEL
// Packet: 0106002157F0
@Test
public void testReadBatteryLevelCommand() {
byte[] readBatteryLevel = new byte[]{0x01, 0x06, 0x00, 0x21, 0x57, (byte) 0xF0};
PacketBuilder builder = new PacketBuilder(Command.READ_BATTERY_LEVEL);
assertThat(builder.build(), is(readBatteryLevel));
}
// Command: READ_SYSTEM_TIME
// Packet: 0106002234C0
// Command: READ_SYSTEM_TIME
// Packet: 0106002234C0
// Command: READ_SYSTEM_TIME
// Packet: 0106002234C0
// Command: READ_SYSTEM_TIME
// Packet: 0106002234C0
@Test
public void testReadSystemTimeCommand() {
byte[] readSystemTime = new byte[]{0x01, 0x06, 0x00, 0x22, 0x34, (byte) 0xC0};
PacketBuilder builder = new PacketBuilder(Command.READ_SYSTEM_TIME);
assertThat(builder.build(), is(readSystemTime));
}
}