|
|
@@ -1,228 +0,0 @@
|
|
|
-package cz.senslog.telemetry.protocol;
|
|
|
-
|
|
|
-import cz.senslog.telemetry.domain.IOProperty;
|
|
|
-import cz.senslog.telemetry.domain.TelemetryAVLRecord;
|
|
|
-import io.vertx.core.buffer.Buffer;
|
|
|
-import org.junit.jupiter.api.Test;
|
|
|
-
|
|
|
-import java.io.IOException;
|
|
|
-import java.net.URISyntaxException;
|
|
|
-import java.net.URL;
|
|
|
-import java.nio.file.Files;
|
|
|
-import java.nio.file.Path;
|
|
|
-import java.nio.file.Paths;
|
|
|
-import java.time.Instant;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
-import java.util.stream.Stream;
|
|
|
-
|
|
|
-import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
-
|
|
|
-public class Fm4exByFileTest {
|
|
|
-
|
|
|
- private static void printAsBinary(byte[] bytes) {
|
|
|
- for (byte b : bytes) {
|
|
|
- System.out.print(String.format("%8s", Integer.toBinaryString(b & 0xFF)).replace(' ', '0'));
|
|
|
- }
|
|
|
- System.out.print("\n");
|
|
|
- }
|
|
|
-
|
|
|
- private static Buffer readResourceFile(String filePath) {
|
|
|
- try {
|
|
|
- URL url = Fm4exByFileTest.class.getClassLoader().getResource(filePath);
|
|
|
- Path path = Paths.get(Objects.requireNonNull(url).toURI());
|
|
|
- byte[] fileBytes = Files.readAllBytes(path);
|
|
|
- return Buffer.buffer(fileBytes);
|
|
|
- } catch (URISyntaxException | IOException e) {
|
|
|
- System.err.println(Arrays.toString(e.getStackTrace()));
|
|
|
- return Buffer.buffer();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void test1_AVLData() {
|
|
|
- Buffer buffer = readResourceFile("Fm4exC8Ex_AVLData/test1.bin");
|
|
|
-
|
|
|
- TelemetryAVLRecord[] records = Fm4ex.parseAVL(buffer);
|
|
|
- assertEquals(15, records.length);
|
|
|
-
|
|
|
- TelemetryAVLRecord r1 = records[0];
|
|
|
- assertEquals(Instant.parse("2023-11-30T17:22:31.542Z"), r1.getTimestamp());
|
|
|
- assertEquals(0, r1.getPriority());
|
|
|
- assertEquals(14.699616432189941, r1.getLongitude());
|
|
|
- assertEquals(49.40732955932617, r1.getLatitude());
|
|
|
- assertEquals(451, r1.getAltitude());
|
|
|
- assertEquals(271, r1.getAngle());
|
|
|
- assertEquals(7, r1.getSatellites());
|
|
|
- assertEquals(0, r1.getSpeed());
|
|
|
- List<IOProperty> r1io = r1.getIoProperties();
|
|
|
- assertEquals(5, r1io.size());
|
|
|
- assertEquals(239, r1io.get(0).getId());
|
|
|
- assertEquals(1, r1io.get(0).getValue());
|
|
|
- assertEquals(67, r1io.get(1).getId());
|
|
|
- assertEquals(9866, r1io.get(1).getValue());
|
|
|
- assertEquals(66, r1io.get(2).getId());
|
|
|
- assertEquals(13509, r1io.get(2).getValue());
|
|
|
- assertEquals(24, r1io.get(3).getId());
|
|
|
- assertEquals(0, r1io.get(3).getValue());
|
|
|
- assertEquals(78, r1io.get(4).getId());
|
|
|
- assertEquals(0, r1io.get(4).getValue());
|
|
|
-
|
|
|
- // records r2 - r14
|
|
|
-
|
|
|
- TelemetryAVLRecord r15 = records[14];
|
|
|
- assertEquals(Instant.parse("2023-11-30T16:12:31.421Z"), r15.getTimestamp());
|
|
|
- assertEquals(0, r15.getPriority());
|
|
|
- assertEquals(14.699616432189941, r15.getLongitude());
|
|
|
- assertEquals(49.40732955932617, r15.getLatitude());
|
|
|
- assertEquals(444, r15.getAltitude());
|
|
|
- assertEquals(271, r15.getAngle());
|
|
|
- assertEquals(9, r15.getSatellites());
|
|
|
- assertEquals(0, r15.getSpeed());
|
|
|
- List<IOProperty> r15io = r15.getIoProperties();
|
|
|
- assertEquals(5, r15io.size());
|
|
|
- assertEquals(239, r15io.get(0).getId());
|
|
|
- assertEquals(1, r15io.get(0).getValue());
|
|
|
- assertEquals(67, r15io.get(1).getId());
|
|
|
- assertEquals(9855, r15io.get(1).getValue());
|
|
|
- assertEquals(66, r15io.get(2).getId());
|
|
|
- assertEquals(13471, r15io.get(2).getValue());
|
|
|
- assertEquals(24, r15io.get(3).getId());
|
|
|
- assertEquals(0, r15io.get(3).getValue());
|
|
|
- assertEquals(78, r15io.get(4).getId());
|
|
|
- assertEquals(0, r15io.get(4).getValue());
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void test2_AVLData() {
|
|
|
- Buffer buffer = readResourceFile("Fm4exC8Ex_AVLData/test2.bin");
|
|
|
-
|
|
|
- TelemetryAVLRecord[] records = Fm4ex.parseAVL(buffer);
|
|
|
-
|
|
|
- assertEquals(15, records.length);
|
|
|
-
|
|
|
- TelemetryAVLRecord r1 = records[0];
|
|
|
- assertEquals(Instant.parse("2023-11-30T17:27:31.550Z"), r1.getTimestamp());
|
|
|
- assertEquals(0, r1.getPriority());
|
|
|
- assertEquals(14.699616432189941, r1.getLongitude());
|
|
|
- assertEquals(49.40732955932617, r1.getLatitude());
|
|
|
- assertEquals(448, r1.getAltitude());
|
|
|
- assertEquals(271, r1.getAngle());
|
|
|
- assertEquals(7, r1.getSatellites());
|
|
|
- assertEquals(0, r1.getSpeed());
|
|
|
- List<IOProperty> r1io = r1.getIoProperties();
|
|
|
- assertEquals(5, r1io.size());
|
|
|
- assertEquals(239, r1io.get(0).getId());
|
|
|
- assertEquals(1, r1io.get(0).getValue());
|
|
|
- assertEquals(67, r1io.get(1).getId());
|
|
|
- assertEquals(9866, r1io.get(1).getValue());
|
|
|
- assertEquals(66, r1io.get(2).getId());
|
|
|
- assertEquals(13446, r1io.get(2).getValue());
|
|
|
- assertEquals(24, r1io.get(3).getId());
|
|
|
- assertEquals(0, r1io.get(3).getValue());
|
|
|
- assertEquals(78, r1io.get(4).getId());
|
|
|
- assertEquals(0, r1io.get(4).getValue());
|
|
|
-
|
|
|
- // records r2 - r14
|
|
|
-
|
|
|
- TelemetryAVLRecord r15 = records[14];
|
|
|
- assertEquals(Instant.parse("2023-11-30T16:17:31.433Z"), r15.getTimestamp());
|
|
|
- assertEquals(0, r15.getPriority());
|
|
|
- assertEquals(14.699616432189941, r15.getLongitude());
|
|
|
- assertEquals(49.40732955932617, r15.getLatitude());
|
|
|
- assertEquals(444, r15.getAltitude());
|
|
|
- assertEquals(271, r15.getAngle());
|
|
|
- assertEquals(8, r15.getSatellites());
|
|
|
- assertEquals(0, r15.getSpeed());
|
|
|
- List<IOProperty> r15io = r15.getIoProperties();
|
|
|
- assertEquals(5, r15io.size());
|
|
|
- assertEquals(239, r15io.get(0).getId());
|
|
|
- assertEquals(1, r15io.get(0).getValue());
|
|
|
- assertEquals(67, r15io.get(1).getId());
|
|
|
- assertEquals(9866, r15io.get(1).getValue());
|
|
|
- assertEquals(66, r15io.get(2).getId());
|
|
|
- assertEquals(13506, r15io.get(2).getValue());
|
|
|
- assertEquals(24, r15io.get(3).getId());
|
|
|
- assertEquals(0, r15io.get(3).getValue());
|
|
|
- assertEquals(78, r15io.get(4).getId());
|
|
|
- assertEquals(0, r15io.get(4).getValue());
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void test3_AVLData() {
|
|
|
- Buffer buffer = readResourceFile("Fm4exC8Ex_AVLData/test3.bin");
|
|
|
-
|
|
|
- TelemetryAVLRecord[] records = Fm4ex.parseAVL(buffer);
|
|
|
-
|
|
|
- assertEquals(15, records.length);
|
|
|
-
|
|
|
- TelemetryAVLRecord r1 = records[0];
|
|
|
- assertEquals(Instant.parse("2023-11-30T17:42:31.574Z"), r1.getTimestamp());
|
|
|
- assertEquals(0, r1.getPriority());
|
|
|
- assertEquals(14.699616432189941, r1.getLongitude());
|
|
|
- assertEquals(49.40732955932617, r1.getLatitude());
|
|
|
- assertEquals(456, r1.getAltitude());
|
|
|
- assertEquals(271, r1.getAngle());
|
|
|
- assertEquals(9, r1.getSatellites());
|
|
|
- assertEquals(0, r1.getSpeed());
|
|
|
- List<IOProperty> r1io = r1.getIoProperties();
|
|
|
- assertEquals(5, r1io.size());
|
|
|
- assertEquals(239, r1io.get(0).getId());
|
|
|
- assertEquals(1, r1io.get(0).getValue());
|
|
|
- assertEquals(67, r1io.get(1).getId());
|
|
|
- assertEquals(9865, r1io.get(1).getValue());
|
|
|
- assertEquals(66, r1io.get(2).getId());
|
|
|
- assertEquals(13499, r1io.get(2).getValue());
|
|
|
- assertEquals(24, r1io.get(3).getId());
|
|
|
- assertEquals(0, r1io.get(3).getValue());
|
|
|
- assertEquals(78, r1io.get(4).getId());
|
|
|
- assertEquals(0, r1io.get(4).getValue());
|
|
|
-
|
|
|
- // records r2 - r14
|
|
|
-
|
|
|
- TelemetryAVLRecord r15 = records[14];
|
|
|
- assertEquals(Instant.parse("2023-11-30T16:32:31.457Z"), r15.getTimestamp());
|
|
|
- assertEquals(0, r15.getPriority());
|
|
|
- assertEquals(14.699616432189941, r15.getLongitude());
|
|
|
- assertEquals(49.40732955932617, r15.getLatitude());
|
|
|
- assertEquals(453, r15.getAltitude());
|
|
|
- assertEquals(271, r15.getAngle());
|
|
|
- assertEquals(9, r15.getSatellites());
|
|
|
- assertEquals(0, r15.getSpeed());
|
|
|
- List<IOProperty> r15io = r15.getIoProperties();
|
|
|
- assertEquals(5, r15io.size());
|
|
|
- assertEquals(239, r15io.get(0).getId());
|
|
|
- assertEquals(1, r15io.get(0).getValue());
|
|
|
- assertEquals(67, r15io.get(1).getId());
|
|
|
- assertEquals(9870, r15io.get(1).getValue());
|
|
|
- assertEquals(66, r15io.get(2).getId());
|
|
|
- assertEquals(13507, r15io.get(2).getValue());
|
|
|
- assertEquals(24, r15io.get(3).getId());
|
|
|
- assertEquals(0, r15io.get(3).getValue());
|
|
|
- assertEquals(78, r15io.get(4).getId());
|
|
|
- assertEquals(0, r15io.get(4).getValue());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Test
|
|
|
- void test1_IMEI() {
|
|
|
- Buffer buffer = readResourceFile("Fm4exC8Ex_IMEI/test1.bin");
|
|
|
- String imei = Fm4ex.parseIMEI(buffer);
|
|
|
- assertEquals("867648041484898", imei);
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void test2_IMEI() {
|
|
|
- Buffer buffer = readResourceFile("Fm4exC8Ex_IMEI/test2.bin");
|
|
|
- String imei = Fm4ex.parseIMEI(buffer);
|
|
|
- assertEquals("867648041484898", imei);
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void test3_IMEI() {
|
|
|
- Buffer buffer = readResourceFile("Fm4exC8Ex_IMEI/test3.bin");
|
|
|
- String imei = Fm4ex.parseIMEI(buffer);
|
|
|
- assertEquals("867648041484898", imei);
|
|
|
- }
|
|
|
-}
|