package org.traccar.protocol; import java.nio.ByteOrder; import org.junit.Test; import org.traccar.ProtocolTest; public class GranitProtocolDecoderTest extends ProtocolTest { @Test public void testDecode() throws Exception { GranitProtocolDecoder decoder = new GranitProtocolDecoder(new GranitProtocol()); verifyPositions(decoder, binary(ByteOrder.LITTLE_ENDIAN, "2b444441547e8400c500040130050c43495808002839aee3150200000000640000000000000008002839aee3150200000000640000000000000008002839aee3150200000000640000000000000008002839aee3150200000000640000000000000008002839aee3150200000000640000000000000008002839aee3150200000000640000000000000014002a37420d0a")); verifyPosition(decoder, binary(ByteOrder.LITTLE_ENDIAN, "2b525243427e1a00c5008443495808002839aee315020000000064000000000000002a37410d0a"), position("2016-12-08 11:27:00.000", false, 57.00888, 40.97143)); verifyPosition(decoder, binary(ByteOrder.LITTLE_ENDIAN, "2b525243427e1a00c500ec904858b842283997e30002000000005e000000000d00002a32390d0a"), position("2016-12-07 22:45:00.000", true, 57.00853, 40.97105)); verifyPosition(decoder, binary(ByteOrder.LITTLE_ENDIAN, "2b525243427e1a00c500009148580800283997e30002000000005f000000000000002a33410d0a")); verifyPositions(decoder, binary(ByteOrder.LITTLE_ENDIAN, "2b444441547e84003b6d0401b10e9217445800b051398f35d34a313b000072000000010b000080b051398f35d34a313b000072000000010b0000f0b051390f33314c303b900371000000010b0000f0b05139cd31e54c2f3cd0016f000000010b0000f0b051396831204d303d950071000000010b0000f0b051397530aa4d323c610171000000010b00000a002a30420d0a")); verifyPosition(decoder, binary(ByteOrder.LITTLE_ENDIAN, "2b525243427e1a003e2934757c57b8b03c38d279b4e61e9bd7006b000000001c00002a4533")); verifyPositions(decoder, binary(ByteOrder.LITTLE_ENDIAN, "2b444441547e84003e290401d01690737c57b8903c383c7fa0e5081b64006b000000001c0000b8803c388e7fe7e5102197006c000000001c0000b8813c38ad7f02e6042035006c000000001d0000b8813c38bf7f13e6001d1e006c000000001d0000b8813c38bf7f13e6001d00006c000000001d0000b8903c38977f34e6091065006c000000001e000014002a3932")); verifyPositions(decoder, binary(ByteOrder.LITTLE_ENDIAN, "2b444441547e84003e290401d41680747c57f8a03c38987f50e6005300006c000000001c0000f8b03c38987f50e6005300006c000000001c0000fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe14002a4346")); // +IDNT: Navigator.04x Firmware version 0712GLN *21 verifyAttributes(decoder, binary(ByteOrder.LITTLE_ENDIAN, "2b49444e543a204e6176696761746f722e30347820204669726d776172652076657273696f6e202030373132474c4e202a3231")); // ERROR WRONG CHECKSUM_1 verifyAttributes(decoder, binary(ByteOrder.LITTLE_ENDIAN, "4552524f522057524f4e4720434845434b53554d5f31")); } }