aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2024-04-10 15:29:47 -0600
committerIván Ávalos <avalos@disroot.org>2024-04-10 15:29:47 -0600
commite8456ae8ec5960b2119b7cdbcffac6d9ff004c95 (patch)
treeed5dfe5ff3b9e3491adf15b2abe83e13e2ccb6c0 /src/test
parent4dec2ef603f078ff3bd18d63d1fbd992537cbb88 (diff)
parent9a285e59e580994dc9c3f80935f766f3dafdcd46 (diff)
downloadtrackermap-server-e8456ae8ec5960b2119b7cdbcffac6d9ff004c95.tar.gz
trackermap-server-e8456ae8ec5960b2119b7cdbcffac6d9ff004c95.tar.bz2
trackermap-server-e8456ae8ec5960b2119b7cdbcffac6d9ff004c95.zip
Merge tag 'v6.0'
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/traccar/database/GroupTreeTest.java56
-rw-r--r--src/test/java/org/traccar/handler/DistanceHandlerTest.java5
-rw-r--r--src/test/java/org/traccar/handler/MotionHandlerTest.java3
-rw-r--r--src/test/java/org/traccar/handler/events/AlertEventHandlerTest.java12
-rw-r--r--src/test/java/org/traccar/handler/events/CommandResultEventHandlerTest.java10
-rw-r--r--src/test/java/org/traccar/handler/events/IgnitionEventHandlerTest.java8
-rw-r--r--src/test/java/org/traccar/handler/events/MaintenanceEventHandlerTest.java25
-rw-r--r--src/test/java/org/traccar/protocol/AtrackProtocolDecoderTest.java3
-rw-r--r--src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java33
9 files changed, 66 insertions, 89 deletions
diff --git a/src/test/java/org/traccar/database/GroupTreeTest.java b/src/test/java/org/traccar/database/GroupTreeTest.java
deleted file mode 100644
index 7c0d478f8..000000000
--- a/src/test/java/org/traccar/database/GroupTreeTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.traccar.database;
-
-import org.junit.jupiter.api.Test;
-import org.traccar.model.Device;
-import org.traccar.model.Group;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class GroupTreeTest {
-
- private static Group createGroup(long id, String name, long parent) {
- Group group = new Group();
- group.setId(id);
- group.setName(name);
- group.setGroupId(parent);
- return group;
- }
-
- private static Device createDevice(long id, String name, long parent) {
- Device device = new Device();
- device.setId(id);
- device.setName(name);
- device.setGroupId(parent);
- return device;
- }
-
- @Test
- public void testGetDescendants() {
- Collection<Group> groups = new ArrayList<>();
- groups.add(createGroup(1, "First", 0));
- groups.add(createGroup(2, "Second", 1));
- groups.add(createGroup(3, "Third", 2));
- groups.add(createGroup(4, "Fourth", 2));
- groups.add(createGroup(5, "Fifth", 4));
-
- Collection<Device> devices = new ArrayList<>();
- devices.add(createDevice(1, "One", 3));
- devices.add(createDevice(2, "Two", 5));
- devices.add(createDevice(3, "One", 5));
-
- GroupTree groupTree = new GroupTree(groups, devices);
-
- assertEquals(4, groupTree.getGroups(1).size());
- assertEquals(3, groupTree.getGroups(2).size());
- assertEquals(0, groupTree.getGroups(3).size());
- assertEquals(1, groupTree.getGroups(4).size());
-
- assertEquals(3, groupTree.getDevices(1).size());
- assertEquals(1, groupTree.getDevices(3).size());
- assertEquals(2, groupTree.getDevices(4).size());
- }
-
-}
diff --git a/src/test/java/org/traccar/handler/DistanceHandlerTest.java b/src/test/java/org/traccar/handler/DistanceHandlerTest.java
index 7d2f1e2e3..04a27ad79 100644
--- a/src/test/java/org/traccar/handler/DistanceHandlerTest.java
+++ b/src/test/java/org/traccar/handler/DistanceHandlerTest.java
@@ -15,14 +15,15 @@ public class DistanceHandlerTest {
DistanceHandler distanceHandler = new DistanceHandler(new Config(), mock(CacheManager.class));
- Position position = distanceHandler.handlePosition(new Position());
+ Position position = new Position();
+ distanceHandler.handlePosition(position, p -> {});
assertEquals(0.0, position.getAttributes().get(Position.KEY_DISTANCE));
assertEquals(0.0, position.getAttributes().get(Position.KEY_TOTAL_DISTANCE));
position.set(Position.KEY_DISTANCE, 100);
- position = distanceHandler.handlePosition(position);
+ distanceHandler.handlePosition(position, p -> {});
assertEquals(100.0, position.getAttributes().get(Position.KEY_DISTANCE));
assertEquals(100.0, position.getAttributes().get(Position.KEY_TOTAL_DISTANCE));
diff --git a/src/test/java/org/traccar/handler/MotionHandlerTest.java b/src/test/java/org/traccar/handler/MotionHandlerTest.java
index 10cdf6a90..927c803d9 100644
--- a/src/test/java/org/traccar/handler/MotionHandlerTest.java
+++ b/src/test/java/org/traccar/handler/MotionHandlerTest.java
@@ -26,7 +26,8 @@ public class MotionHandlerTest {
MotionHandler motionHandler = new MotionHandler(cacheManager);
- Position position = motionHandler.handlePosition(new Position());
+ Position position = new Position();
+ motionHandler.handlePosition(position, p -> {});
assertEquals(false, position.getAttributes().get(Position.KEY_MOTION));
diff --git a/src/test/java/org/traccar/handler/events/AlertEventHandlerTest.java b/src/test/java/org/traccar/handler/events/AlertEventHandlerTest.java
index 66dc55c85..7b1991553 100644
--- a/src/test/java/org/traccar/handler/events/AlertEventHandlerTest.java
+++ b/src/test/java/org/traccar/handler/events/AlertEventHandlerTest.java
@@ -7,10 +7,11 @@ import org.traccar.model.Event;
import org.traccar.model.Position;
import org.traccar.session.cache.CacheManager;
-import java.util.Map;
+import java.util.ArrayList;
+import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.mockito.Mockito.mock;
public class AlertEventHandlerTest extends BaseTest {
@@ -22,9 +23,10 @@ public class AlertEventHandlerTest extends BaseTest {
Position position = new Position();
position.set(Position.KEY_ALARM, Position.ALARM_GENERAL);
- Map<Event, Position> events = alertEventHandler.analyzePosition(position);
- assertNotNull(events);
- Event event = events.keySet().iterator().next();
+ List<Event> events = new ArrayList<>();
+ alertEventHandler.analyzePosition(position, events::add);
+ assertFalse(events.isEmpty());
+ Event event = events.iterator().next();
assertEquals(Event.TYPE_ALARM, event.getType());
}
diff --git a/src/test/java/org/traccar/handler/events/CommandResultEventHandlerTest.java b/src/test/java/org/traccar/handler/events/CommandResultEventHandlerTest.java
index bc24e42f5..58e198b7f 100644
--- a/src/test/java/org/traccar/handler/events/CommandResultEventHandlerTest.java
+++ b/src/test/java/org/traccar/handler/events/CommandResultEventHandlerTest.java
@@ -5,9 +5,12 @@ import org.traccar.BaseTest;
import org.traccar.model.Event;
import org.traccar.model.Position;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
public class CommandResultEventHandlerTest extends BaseTest {
@@ -19,9 +22,10 @@ public class CommandResultEventHandlerTest extends BaseTest {
Position position = new Position();
position.set(Position.KEY_RESULT, "Test Result");
- Map<Event, Position> events = commandResultEventHandler.analyzePosition(position);
- assertNotNull(events);
- Event event = events.keySet().iterator().next();
+ List<Event> events = new ArrayList<>();
+ commandResultEventHandler.analyzePosition(position, events::add);
+ assertFalse(events.isEmpty());
+ Event event = events.iterator().next();
assertEquals(Event.TYPE_COMMAND_RESULT, event.getType());
}
diff --git a/src/test/java/org/traccar/handler/events/IgnitionEventHandlerTest.java b/src/test/java/org/traccar/handler/events/IgnitionEventHandlerTest.java
index 972932df4..61ff50efa 100644
--- a/src/test/java/org/traccar/handler/events/IgnitionEventHandlerTest.java
+++ b/src/test/java/org/traccar/handler/events/IgnitionEventHandlerTest.java
@@ -1,14 +1,11 @@
package org.traccar.handler.events;
+import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.traccar.BaseTest;
-import org.traccar.model.Event;
import org.traccar.model.Position;
import org.traccar.session.cache.CacheManager;
-import java.util.Map;
-
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.mockito.Mockito.mock;
public class IgnitionEventHandlerTest extends BaseTest {
@@ -21,8 +18,7 @@ public class IgnitionEventHandlerTest extends BaseTest {
Position position = new Position();
position.set(Position.KEY_IGNITION, true);
position.setValid(true);
- Map<Event, Position> events = ignitionEventHandler.analyzePosition(position);
- assertNull(events);
+ ignitionEventHandler.analyzePosition(position, Assertions::assertNull);
}
}
diff --git a/src/test/java/org/traccar/handler/events/MaintenanceEventHandlerTest.java b/src/test/java/org/traccar/handler/events/MaintenanceEventHandlerTest.java
index 661336d76..f0bd4a3f9 100644
--- a/src/test/java/org/traccar/handler/events/MaintenanceEventHandlerTest.java
+++ b/src/test/java/org/traccar/handler/events/MaintenanceEventHandlerTest.java
@@ -2,11 +2,14 @@ package org.traccar.handler.events;
import org.junit.jupiter.api.Test;
import org.traccar.BaseTest;
+import org.traccar.model.Event;
import org.traccar.model.Maintenance;
import org.traccar.model.Position;
import org.traccar.session.cache.CacheManager;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.List;
import java.util.Set;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -38,24 +41,30 @@ public class MaintenanceEventHandlerTest extends BaseTest {
MaintenanceEventHandler eventHandler = new MaintenanceEventHandler(cacheManager);
when(maintenance.getStart()).thenReturn(10000.0);
- when(maintenance.getPeriod()).thenReturn(2000.0);
+ when(maintenance.getPeriod()).thenReturn(2000.0);
+
+ List<Event> events = new ArrayList<>();
lastPosition.set(Position.KEY_TOTAL_DISTANCE, 1999);
- position.set(Position.KEY_TOTAL_DISTANCE, 2001);
- assertTrue(eventHandler.analyzePosition(position).isEmpty());
+ position.set(Position.KEY_TOTAL_DISTANCE, 2001);
+ eventHandler.analyzePosition(position, events::add);
+ assertTrue(events.isEmpty());
lastPosition.set(Position.KEY_TOTAL_DISTANCE, 3999);
- position.set(Position.KEY_TOTAL_DISTANCE, 4001);
- assertTrue(eventHandler.analyzePosition(position).isEmpty());
+ position.set(Position.KEY_TOTAL_DISTANCE, 4001);
+ eventHandler.analyzePosition(position, events::add);
+ assertTrue(events.isEmpty());
lastPosition.set(Position.KEY_TOTAL_DISTANCE, 9999);
position.set(Position.KEY_TOTAL_DISTANCE, 10001);
- assertEquals(1, eventHandler.analyzePosition(position).size());
+ eventHandler.analyzePosition(position, events::add);
+ assertEquals(1, events.size());
lastPosition.set(Position.KEY_TOTAL_DISTANCE, 11999);
position.set(Position.KEY_TOTAL_DISTANCE, 12001);
- assertEquals(1, eventHandler.analyzePosition(position).size());
-
+ eventHandler.analyzePosition(position, events::add);
+ assertEquals(2, events.size());
+
}
}
diff --git a/src/test/java/org/traccar/protocol/AtrackProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AtrackProtocolDecoderTest.java
index be6fb5c45..7115e0ea6 100644
--- a/src/test/java/org/traccar/protocol/AtrackProtocolDecoderTest.java
+++ b/src/test/java/org/traccar/protocol/AtrackProtocolDecoderTest.java
@@ -44,6 +44,9 @@ public class AtrackProtocolDecoderTest extends ProtocolTest {
decoder.setCustom(true);
verifyPositions(decoder, binary(
+ "405064e503092d8600000000000f54ab660786b0660786b0660a12c4fa2e202d01cfd32a005a02000022b700070000000000000007d007d000254349254d56254256254d5400007f002800660786ec660786ec660a12c4fa2e202d01cfd32a005a02000022b700070000000000000007d007d000254349254d56254256254d5400007f0028006607872866078728660a12c4fa2e202d01cfd32a005a02000022b700070000000000000007d007d000254349254d56254256254d5400007f0028006607876466078764660a12c4fa2e202d01cfd32a005a02000022b700070000000000000007d007d000254349254d56254256254d5400007f002800660787a0660787a0660a12c4fa2e202d01cfd32a005a02000022b700060000000000000007d007d000254349254d56254256254d5400007f002800660787dc660787dc660a12c4fa2e202d01cfd32a005a02000022b700060000000000000007d007d000254349254d56254256254d5400007f0028006607881866078818660a12c4fa2e202d01cfd32a005a02000022b700060000000000000007d007d000254349254d56254256254d5400007f0028006607885466078854660a12c4fa2e202d01cfd32a005a02000022b700060000000000000007d007d000254349254d56254256254d5400007f0028006607889066078890660a12c4fa2e202d01cfd32a005a02000022b700060000000000000007d007d000254349254d56254256254d5400007f002800660788cc660788cc660a12c4fa2e202d01cfd32a005a02000022b700060000000000000007d007d000254349254d56254256254d5400007f0028006607890866078908660a12c4fa2e202d01cfd32a005a02000022b700070000000000000007d007d000254349254d56254256254d5400007f0028006607894466078944660a12c4fa2e202d01cfd32a005a02000022b700070000000000000007d007d000254349254d56254256254d5400007f0028006607898066078980660a12c4fa2e202d01cfd32a005a02000022b700070000000000000007d007d000254349254d56254256254d5400007f002800"));
+
+ verifyPositions(decoder, binary(
"4050d78502e01d29000312fa45441d6d647d8e67647d8e67647eef190205437c021846e6001a020002d7f000070000000000000007d007d000254349254d5625525025564e254d4625454c25545225455425464c254d4c25464325534d25494e3025484125484225484325415400010c0000000000000000000000000000000000000000000000000e647d8e85647d8e86647eef190205437c021846e60019020002d7f000070000000000000007d007d000254349254d5625525025564e254d4625454c25545225455425464c254d4c25464325534d25494e3025484125484225484325415400010c0000000000000000000000000000000000000000000000000e647d8ea3647d8ea4647eef190205437c021846e60019020002d7f000070000000000000007d007d000254349254d5625525025564e254d4625454c25545225455425464c254d4c25464325534d25494e3025484125484225484325415400010b0000000000000000000000000000000000000000000000000e647d8ec1647d8ec2647eef190205437c021846e60019020002d7f000070000000000000007d007d000254349254d5625525025564e254d4625454c25545225455425464c254d4c25464325534d25494e3025484125484225484325415400010a0000000000000000000000000000000000000000000000000e647d8edf647d8ee0647eef190205437c021846e60019020002d7f000070000000000000007d007d000254349254d5625525025564e254d4625454c25545225455425464c254d4c25464325534d25494e3025484125484225484325415400010a0000000000000000000000000000000000000000000000000e647d8efd647d8efe647eef190205437c021846e60019020002d7f000070000000000000007d007d000254349254d5625525025564e254d4625454c25545225455425464c254d4c25464325534d25494e3025484125484225484325415400010a0000000000000000000000000000000000000000000000000e"));
verifyPositions(decoder, binary(
diff --git a/src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java
index b6e50e07d..4cccf8fa2 100644
--- a/src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java
+++ b/src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java
@@ -11,6 +11,14 @@ public class Gl200TextProtocolDecoderTest extends ProtocolTest {
var decoder = inject(new Gl200TextProtocolDecoder(null));
+ verifyAttribute(decoder, buffer(
+ "+RESP:GTVGN,C2010D,869653060009939,GV600M,453966,0,0.0,0,163.9,10.239379,45.931389,20231210233723,0222,0010,2F31,006D7621,,,0.0,20240107182623,143F$"),
+ Position.KEY_IGNITION, true);
+
+ verifyAttribute(decoder, buffer(
+ "+RESP:GTIGF,8020050502,867488060278727,,509,1,0.0,184,32.6,14.003446,42.654554,20240219124629,0222,0001,0FAD,0497F715,00,,0.0,20240219124630,FD2F$"),
+ Position.KEY_IGNITION, false);
+
verifyPositions(decoder, buffer(
"+RESP:GTERI,C2010D,869653060009939,GV600M,00000100,,10,1,0,0.0,0,163.9,10.239379,45.931389,20231210233723,0222,0010,2F31,006D7621,,0.0,,,,3,410000,,1,0,6,4,0,,01BF,Sondaporte,EA7D0A3882F6,1,3484,21.81,43,00,00,0,0,0,20240114221802,1875$"));
@@ -52,14 +60,14 @@ public class Gl200TextProtocolDecoderTest extends ProtocolTest {
"+RESP:GTFRI,5E0100,862061048023666,,,12940,10,1,1,0.0,97,179.8,-90.366478,38.735379,20230616183231,0310,0410,6709,03ADF710,00,6223.7,,,,,110000,,,,202306161834$"));
verifyAttribute(decoder, buffer(
- "+BUFF:GTERI,410502,864802030794634,GV75W,00000001,,10,1,1,0.0,0,3027.8,-78.706612,-0.955699,20230418170736,0740,0002,A08C,2AB72D,00,0.0,,,,100,110000,1,0099,20230418171004,8B98$"),
+ "+BUFF:GTERI,410502,864802030794634,,00000001,,10,1,1,0.0,0,3027.8,-78.706612,-0.955699,20230418170736,0740,0002,A08C,2AB72D,00,0.0,,,,100,110000,1,0099,20230418171004,8B98$"),
Position.KEY_FUEL_LEVEL, 153);
verifyPositions(decoder, false, buffer(
"+BUFF:GTFRI,2E0503,861106050005423,,,0,1,,,,,,,,,,,,0,0,,98,1,0,,,20200101000001,0083$"));
verifyAttribute(decoder, buffer(
- "+RESP:GTERI,271002,863457051562823,GV300,00000002,,10,1,1,0.0,15,28.2,-58.695253,-34.625413,20230119193305,0722,0007,1168,16B3BB,00,0.0,,,,99,210100,2,1,28F8A149F69A3C25,1,0190,20230119193314,07C7$"),
+ "+RESP:GTERI,271002,863457051562823,,00000002,,10,1,1,0.0,15,28.2,-58.695253,-34.625413,20230119193305,0722,0007,1168,16B3BB,00,0.0,,,,99,210100,2,1,28F8A149F69A3C25,1,0190,20230119193314,07C7$"),
Position.PREFIX_TEMP + 1, 25.0);
verifyAttribute(decoder, buffer(
@@ -176,7 +184,7 @@ public class Gl200TextProtocolDecoderTest extends ProtocolTest {
"+RESP:GTERI,310603,863286023345490,,00000002,,10,1,2,0.3,0,155.7,8.000000,52.000000,20171215213040,0262,0002,1450,9F13,00,1130.3,00539:27:19,,,110000,2,1,28FFD5239115034E,1,,20171215213041,27C7$"));
verifyPositions(decoder, buffer(
- "+RESP:GTERI,250C02,868789023691057,GV300,00000019,,10,1,1,0.0,196,2258.0,-99.201807,19.559242,20180214002957,0334,0003,235B,7F8D,00,6786.7,,,,100,110000,1,0394,1,4,100.0,100.0,20180214003006,C72B$"));
+ "+RESP:GTERI,250C02,868789023691057,,00000019,,10,1,1,0.0,196,2258.0,-99.201807,19.559242,20180214002957,0334,0003,235B,7F8D,00,6786.7,,,,100,110000,1,0394,1,4,100.0,100.0,20180214003006,C72B$"));
verifyAttributes(decoder, buffer(
"+RESP:GTCAN,310603,863286023335723,gv65,00,1,C03FFFFF,,0,,719601.00,,,,,,,,274.99,179.02,95.98,84761.00,,,0,,0,,,0,0.0,216,29.8,-2.155296,51.899400,20180209172714,0234,0010,53F3,8D38,00,20180211002128,E94E$"));
@@ -203,7 +211,7 @@ public class Gl200TextProtocolDecoderTest extends ProtocolTest {
"+RESP:GTOBD,360701,864251020253807,LSGTC58UX7Y067312,GV500,0,70FFFF,LSGTC58UX7Y067312,1,12309,983A8140,0,0,33,nan,,0,0,0,,10,0,,0,4.4,0,83.7,36.235142,49.967324,20170829112348,0255,0001,2760,9017,00,690.1,20170829112400,3456$"));
verifyPositions(decoder, buffer(
- "+RESP:GTERI,060502,861074023620928,GV300,00000002,27822,10,1,1,0.0,84,2870.9,-78.531796,-0.277329,20170825045344,,,,,,0.0,01138:30:24,,,83,220104,2,1,28FF2776A2150308,1,FFAD,0,20170825045348,A88C$"));
+ "+RESP:GTERI,060502,861074023620928,,00000002,27822,10,1,1,0.0,84,2870.9,-78.531796,-0.277329,20170825045344,,,,,,0.0,01138:30:24,,,83,220104,2,1,28FF2776A2150308,1,FFAD,0,20170825045348,A88C$"));
verifyAttributes(decoder, buffer(
"+RESP:GTINF,280500,A1000043D20139,GL300VC,41,,31,0,0,,,3.87,0,1,1,,,20170802150751,70,,48.0,,,20170802112145,03AC$"));
@@ -218,7 +226,7 @@ public class Gl200TextProtocolDecoderTest extends ProtocolTest {
"+RESP:GTTRI,862370030005908,1,0,99,1,0.0,354,18.5,18.821100,-34.084002,20170607152024,0655,0001,00DD,1CAE,00,0103010100,20170607172115,3E7D$"));
verifyPositions(decoder, buffer(
- "+RESP:GTERI,060800,861074023677175,GV300,00000002,12351,10,1,1,0.0,0,2862.4,-78.467273,-0.164998,20170529181717,,,,,,0.0,00259:11:50,,,0,210104,2,1,28E17436060000E2,1,015F,0,20170529181723,2824$"));
+ "+RESP:GTERI,060800,861074023677175,,00000002,12351,10,1,1,0.0,0,2862.4,-78.467273,-0.164998,20170529181717,,,,,,0.0,00259:11:50,,,0,210104,2,1,28E17436060000E2,1,015F,0,20170529181723,2824$"));
verifyPosition(decoder, buffer(
"+RESP:GTSWG,110100,358688000000158,,1,0,2.1,0,27.1,121.390717,31.164424,20110901073917,0460,0000,1878,0873,,20110901154653,0015$"));
@@ -239,7 +247,7 @@ public class Gl200TextProtocolDecoderTest extends ProtocolTest {
"+RESP:GTFRI,060228,862894020180553,,14827,10,1,1,3.4,199,409.6,-63.174466,-17.739317,20170407121823,0000,0000,0000,0000,00,15989.5,01070:43:13,13,180,0,220101,,,,20170407081824,9607$"));
verifyPositions(decoder, buffer(
- "+RESP:GTERI,060502,861074023376992,GV300,00000002,27239,10,1,1,0.2,312,183.3,-79.320820,-2.499110,20170401212005,0740,0000,EE4E,C98F,00,0.0,02114:36:35,,,90,220504,2,0,0,20170401212007,9E3D$"));
+ "+RESP:GTERI,060502,861074023376992,,00000002,27239,10,1,1,0.2,312,183.3,-79.320820,-2.499110,20170401212005,0740,0000,EE4E,C98F,00,0.0,02114:36:35,,,90,220504,2,0,0,20170401212007,9E3D$"));
verifyPositions(decoder, buffer(
"+RESP:GTFRI,060502,861074023689626,,25202,10,1,1,0.0,0,2744.1,-78.261047,0.023452,20170401211940,,,,,,0.0,00079:19:15,,,51,110000,,,,20170401212003,4DA7$"));
@@ -251,7 +259,7 @@ public class Gl200TextProtocolDecoderTest extends ProtocolTest {
"+RESP:GTERI,06020B,862170010196747,,00000000,,10,1,2,1.8,0,-2.5,117.198440,31.845219,20120802061037,0460,0000,5663,0358,00,0.0,,,,0,410000,20120802061040,0012$"));
verifyPositions(decoder, buffer(
- "+RESP:GTERI,060502,861074023692562,GV300,00000002,14197,10,1,1,0.2,220,491.8,-79.064212,-2.159754,20170401212007,0740,0000,EE49,CE25,00,0.0,01509:10:58,,,87,220104,2,0,0,20170401212010,D14D$"));
+ "+RESP:GTERI,060502,861074023692562,,00000002,14197,10,1,1,0.2,220,491.8,-79.064212,-2.159754,20170401212007,0740,0000,EE49,CE25,00,0.0,01509:10:58,,,87,220104,2,0,0,20170401212010,D14D$"));
verifyPositions(decoder, buffer(
"+RESP:GTFRI,210102,354524044925825,,1,1,1,29,2.8,0,133.7,-90.203063,32.265473,20170318005208,,,,,10800,4,20170318005208,0002$"));
@@ -487,8 +495,17 @@ public class Gl200TextProtocolDecoderTest extends ProtocolTest {
verifyAttributes(decoder, buffer(
"+ACK:GTGEO,1A0102,135790246811220,,0,0008,20100310172830,11F0"));
- decoder.setModelOverride("GV355CEU");
+ verifyAttributes(decoder, buffer(
+ "+RESP:GTINF,6E0202,868589060187625,RA82,11,89883030000091225018,41,0,1,12349,,4.15,0,1,0,0,20240328231013,0,0,0,0,00,00,+0000,0,20240328231015,7D4F"));
+
+ verifyAttribute(decoder, buffer(
+ "+RESP:GTINF,6E0202,868589060187625,RA82,11,89883030000091225018,41,0,1,12349,,4.15,0,1,0,0,20240328231013,0,0,0,0,00,00,+0000,0,20240328231015,7D4F"),
+ Position.KEY_POWER, 12.349);
+ verifyAttribute(decoder, buffer(
+ "+RESP:GTINF,6E0202,868589060187625,RA82,11,89883030000091225018,41,0,1,12349,,4.15,0,1,0,0,20240328231013,0,0,0,0,00,00,+0000,0,20240328231015,7D4F"),
+ Position.PREFIX_ADC + 3, "0");
+
verifyAttributes(decoder, buffer(
"+RESP:GTCAN,8020050605,867488060270575,,00,1,FFFFFFFF,8LBETF3W4N0001613,,,22.54,0,,,,,,,7.84,4.61,3.24,3.33,,8080,,,00,0.00,0.00,1,14,14,2371,0,001FFFFF,,,,,,,,,7158,9998,0,7.84,0.00,0.00,558,,,,,,,C0,,,,,0,0.0,346,2848.5,-78.592371,-0.968132,20240202083437,0740,0002,526C,00AE7907,00,20240202083440,3F6D$"));