aboutsummaryrefslogtreecommitdiff
path: root/test/org
diff options
context:
space:
mode:
authorIvan Muratov <binakot@gmail.com>2017-07-13 08:30:35 +0300
committerIvan Muratov <binakot@gmail.com>2017-07-13 08:30:35 +0300
commit6e70a873886b366980423e448808b60c624e4047 (patch)
tree905021251f4174ab2eb4d01ff2587c86e1b8314a /test/org
parent2e0ed3ccfde8f779111de2b722a94224faa65c99 (diff)
downloadtrackermap-server-6e70a873886b366980423e448808b60c624e4047.tar.gz
trackermap-server-6e70a873886b366980423e448808b60c624e4047.tar.bz2
trackermap-server-6e70a873886b366980423e448808b60c624e4047.zip
Basic ARNAVI4 binary protocol implementation is done.
Supported 2 types of HEADER packets (v1, v2). Supported 3 types of PACKAGE DATA records: latitude, longitude and additional data (speed, satellites, altitude, course).
Diffstat (limited to 'test/org')
-rw-r--r--test/org/traccar/protocol/Arnavi4FrameDecoderTest.java37
-rw-r--r--test/org/traccar/protocol/Arnavi4ProtocolDecoderTest.java23
2 files changed, 54 insertions, 6 deletions
diff --git a/test/org/traccar/protocol/Arnavi4FrameDecoderTest.java b/test/org/traccar/protocol/Arnavi4FrameDecoderTest.java
new file mode 100644
index 000000000..08abd3835
--- /dev/null
+++ b/test/org/traccar/protocol/Arnavi4FrameDecoderTest.java
@@ -0,0 +1,37 @@
+package org.traccar.protocol;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.traccar.ProtocolTest;
+
+import java.nio.ByteOrder;
+
+/**
+ * Created by Ivan Muratov @binakot on 13.07.2017.
+ */
+public class Arnavi4FrameDecoderTest extends ProtocolTest {
+
+ @Test
+ public void testDecode() throws Exception {
+
+ Arnavi4FrameDecoder decoder = new Arnavi4FrameDecoder();
+
+ Assert.assertEquals( // Valid HEADER v1 packet with IMEI
+ binary(ByteOrder.LITTLE_ENDIAN, "ff22f30c45f5c90f0300"),
+ decoder.decode(null, null, binary(ByteOrder.LITTLE_ENDIAN, "ff22f30c45f5c90f0300")));
+
+ Assert.assertEquals( // Valid HEADER v2 packet with IMEI
+ binary(ByteOrder.LITTLE_ENDIAN, "ff23f30c45f5c90f0300"),
+ decoder.decode(null, null, binary(ByteOrder.LITTLE_ENDIAN, "ff23f30c45f5c90f0300")));
+
+ Assert.assertEquals( // Valid PACKAGE packet with one DATA packet
+ binary(ByteOrder.LITTLE_ENDIAN, "5b01012800a3175f5903513934420447221c42055402781E0900f0c5215b4e0084005c00007c005d0000a300fa37010000295d"),
+ decoder.decode(null, null, binary(ByteOrder.LITTLE_ENDIAN, "5b01012800a3175f5903513934420447221c42055402781E0900f0c5215b4e0084005c00007c005d0000a300fa37010000295d")));
+
+ Assert.assertEquals( // Valid PACKAGE packet with two DATA packet
+ binary(ByteOrder.LITTLE_ENDIAN, "5b01012800a3175f5903513934420447221c42055402781E0900f0c5215b4e0084005c00007c005d0000a300fa3701000029012800a3175f5903513934420447221c42055402781E0900f0c5215b4e0084005c00007c005d0000a300fa37010000295d"),
+ decoder.decode(null, null, binary(ByteOrder.LITTLE_ENDIAN, "5b01012800a3175f5903513934420447221c42055402781E0900f0c5215b4e0084005c00007c005d0000a300fa3701000029012800a3175f5903513934420447221c42055402781E0900f0c5215b4e0084005c00007c005d0000a300fa37010000295d")));
+
+ }
+
+} \ No newline at end of file
diff --git a/test/org/traccar/protocol/Arnavi4ProtocolDecoderTest.java b/test/org/traccar/protocol/Arnavi4ProtocolDecoderTest.java
index b199fe565..2395572a1 100644
--- a/test/org/traccar/protocol/Arnavi4ProtocolDecoderTest.java
+++ b/test/org/traccar/protocol/Arnavi4ProtocolDecoderTest.java
@@ -3,7 +3,7 @@ package org.traccar.protocol;
import org.junit.Test;
import org.traccar.ProtocolTest;
-import static org.junit.Assert.*;
+import java.nio.ByteOrder;
/**
* Created by Ivan Muratov @binakot on 11.07.2017.
@@ -13,14 +13,25 @@ public class Arnavi4ProtocolDecoderTest extends ProtocolTest {
@Test
public void testDecode() throws Exception {
- Arnavi4ProtocolDecoder decoder = new Arnavi4ProtocolDecoder(new Arnavi4Protocol());
+ Arnavi4ProtocolDecoder decoder;
- verifyPosition(decoder, text(
- "$AV,V2,32768,12487,2277,203,-1,0,0,193,0,0,1,13,200741,5950.6773N,03029.1043E,0.0,0.0,121012,*6E"));
+ decoder = new Arnavi4ProtocolDecoder(new Arnavi4Protocol());
- verifyPosition(decoder, text(
- "$AV,V3,999999,12487,2277,203,65534,0,0,193,65535,65535,65535,65535,1,13,200741,5950.6773N,03029.1043E,300.0,360.0,121012,65535,65535,65535,SF*6E"));
+ verifyNull(decoder, binary(ByteOrder.LITTLE_ENDIAN, // Valid HEADER v1 packet with IMEI
+ "ff22f30c45f5c90f0300"));
+ verifyPositions(decoder, binary(ByteOrder.LITTLE_ENDIAN, // Valid PACKAGE packet with one DATA packet
+ "5b01012800a3175f5903513934420447221c42055402781E0900f0c5215b4e0084005c00007c005d0000a300fa37010000295d"),
+ position("2017-07-07 05:09:55.000", true, 45.05597, 39.03347));
+
+ decoder = new Arnavi4ProtocolDecoder(new Arnavi4Protocol());
+
+ verifyNull(decoder, binary(ByteOrder.LITTLE_ENDIAN, // Valid HEADER v2 packet with IMEI
+ "ff23f30c45f5c90f0300"));
+
+ verifyPositions(decoder, binary(ByteOrder.LITTLE_ENDIAN, // Valid PACKAGE packet with two DATA packet
+ "5b01012800a3175f5903513934420447221c42055402781E0900f0c5215b4e0084005c00007c005d0000a300fa3701000029012800a3175f5903513934420447221c42055402781E0900f0c5215b4e0084005c00007c005d0000a300fa37010000295d"),
+ position("2017-07-07 05:09:55.000", true, 45.05597, 39.03347));
}
}