1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
package org.traccar.protocol;
import org.junit.jupiter.api.Test;
import org.traccar.ProtocolTest;
import org.traccar.model.Position;
public class TaipProtocolDecoderTest extends ProtocolTest {
@Test
public void testDecode() throws Exception {
var decoder = inject(new TaipProtocolDecoder(null));
verifyAttributes(decoder, text(
">RUS00,010170000000+0000000+000000000000001009999000011060074755268EF,0001139503871486,01,ZZZZZZZZZZ;ID=11817;#LOG:6AE4;*2C<"));
verifyPosition(decoder, text(
">RPI041220132203-2683525-065204060150001050000101511140022118857EF27;ID=0000;#LOG:DECB;*07<"));
verifyPosition(decoder, text(
">RCQ00151123235718-2782354-06407582055121FF0013501CDCC6313011100001514;#0805;ID=SIA056;*15<"));
verifyNull(decoder, text(
">RTT151123153149-4330468-06503640000009300DF2101 04101203 000 00000000130000040414;ID=8803;#1ABD;*2B<"));
verifyAttribute(decoder, text(
">RUS00,111220124402-3138067-06417623000012200FF,000000000000000000000000000,0000000111,15640422,00000,+25.5,00000,51;ID=CST3G0443;#IP1:089F;*34<"),
Position.PREFIX_TEMP + 1, 25.5);
verifyAttribute(decoder, text(
">RUS00,031120185945-3138060-06417622000209200FF,000000000000000000000000000,0000000000,11440419,00000,00000,00000,00;ID=CST3G0495;#IP0:1EF7;*4B<"),
Position.KEY_BATTERY, 4.19);
verifyPosition(decoder, text(
">RUS00,031120185945-3138060-06417622000209200FF,000000000000000000000000000,0000000000,11440419,00000,00;ID=CST3G0495;#IP0:1EF7;*4B<"));
verifyPosition(decoder, text(
">RGP041120190000-3137454-064075520001883004D50;ID=8385;#IP0:0080;*19<"));
verifyNull(decoder, text(
">RLN25601000+297185103-0955755990+000059150000+0000000012000000000000000000000000000000000000000000000000000000000012;ID=3580;*48<"));
verifyPosition(decoder, text(
">RGP211217112154-2748332-058946350000000FF7F2100;ID=AA01;#0002;*2D<"));
verifyPosition(decoder, text(
">RCV12270218010247-3471349-058400030002057F001200020A1D013010600001509+0000FF+0000FF;#1DE2;ID=7196;*03<"));
verifyPosition(decoder, text(
">RPV03874+3477708-0923453100029212;ID=0017;*71<"));
verifyNull(decoder, text(
">RAL03874+00185+00012;ID=0017;*4A<"));
verifyNull(decoder, text(
">RCP03874+347771-092345312;ID=0017;*65<"));
verifyNull(decoder, text(
">RLN03874000+347770828-0923453071+000608270000+0000292309000000000000000000000000000000000000000000000012;ID=0017;*49<"));
verifyPosition(decoder, text(
">RPV46640+4197412-0752857900015802;ID=5102;*71<"));
verifyNull(decoder, text(
">RCP46640+419741-075285802;ID=5102;*6C<"));
verifyPosition(decoder, text(
">REV001958003965+0307178+1016144900031532;IO=300;SV=8;BL=4159;CF=8161,C,13;AD=14145;IX=10233040;FF=0,0,0,0;VO=338578;ID=357042063052352<"));
verifyPosition(decoder, text(
">REV011958000369+0307185+1016144400000032;IO=200;SV=9;BL=4158;CF=0,0,0;AD=12347;IX=10213040;FF=0,0,0,0;VO=338572;ID=357042063052352<"));
verifyPosition(decoder, text(
">REV421942237017+1170957-0701880200000032;ID=356612022463055<"));
verifyPosition(decoder, text(
">RGP200317010815-3852.9306-06204.88560000003000101;&01;ID=5555;#7AD7*51<"));
verifyPosition(decoder, text(
">RCQ09000000000000-3460365-058381460000007F0000000000000115000FFFF1099;#0000;ID=555224;*05<"));
verifyPosition(decoder, text(
">RBR00130217040848-3462200-05846708000175FF0022900003B3C13010800001118410+24061A;ID=555224;*07<"));
verifyPosition(decoder, text(
">REV451891352379+0307152+1016143700000012;SV=8;BL=4416;VO=8055;ID=356612026322000<"));
verifyPosition(decoder, text(
">RGP230615010248-2682523-065236820000003007F4101;ID=0005;#0002;*2A<"),
position("2015-06-23 01:02:48.000", true, -26.82523, -65.23682));
verifyPosition(decoder, text(
">RGP190805211932-3457215-058493640000000FFBF0300;ID=8251;#2122;*54<"));
verifyPosition(decoder, text(
">RPV00000+3739438-1220384601512612;ID=1234;*7F"));
verifyPosition(decoder, text(
"\r\n>REV691615354941+3570173+1397742703203212;ID=Test"));
verifyPosition(decoder, text(
">REV481599462982+2578391-0802945201228512;ID=Test"),
position("2010-09-02 17:29:42.000", true, 25.78391, -80.29452));
verifyPosition(decoder, text(
">REV131756153215+3359479-0075299001031332;VO=10568798;IO=310;SV=10;BL=4190;CV09=0;AD=0;AL=+47;ID=356612021059680"));
verifyPosition(decoder, text(
">RPV02138+4555512-0735478000000032;ID=1005;*76<"));
verifyPosition(decoder, text(
">RPV19105+4538405-0739518900000012;ID=9999;*7A<\r\n"));
}
}
|