aboutsummaryrefslogtreecommitdiff
path: root/test/net/sourceforge/opentracking/protocol/xexun/XexunProtocolDecoderTest.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2010-04-11 14:32:30 +0000
committerAnton Tananaev <anton.tananaev@gmail.com>2010-04-11 14:32:30 +0000
commit794c0ef3f92e5031dd7722325933d4cefdfce047 (patch)
treec0b573e68a4aebea3a0ac9817082740d86fdd1d3 /test/net/sourceforge/opentracking/protocol/xexun/XexunProtocolDecoderTest.java
parentc9e11760f2131a9d0123c8575eaafc22dca407e3 (diff)
downloadtraccar-server-794c0ef3f92e5031dd7722325933d4cefdfce047.tar.gz
traccar-server-794c0ef3f92e5031dd7722325933d4cefdfce047.tar.bz2
traccar-server-794c0ef3f92e5031dd7722325933d4cefdfce047.zip
Import project
Diffstat (limited to 'test/net/sourceforge/opentracking/protocol/xexun/XexunProtocolDecoderTest.java')
-rw-r--r--test/net/sourceforge/opentracking/protocol/xexun/XexunProtocolDecoderTest.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/test/net/sourceforge/opentracking/protocol/xexun/XexunProtocolDecoderTest.java b/test/net/sourceforge/opentracking/protocol/xexun/XexunProtocolDecoderTest.java
new file mode 100644
index 000000000..04f0de48b
--- /dev/null
+++ b/test/net/sourceforge/opentracking/protocol/xexun/XexunProtocolDecoderTest.java
@@ -0,0 +1,64 @@
+package net.sourceforge.opentracking.protocol.xexun;
+
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.List;
+import java.util.LinkedList;
+import org.junit.Test;
+import net.sourceforge.opentracking.Device;
+import net.sourceforge.opentracking.Position;
+import net.sourceforge.opentracking.DataManager;
+import static org.junit.Assert.*;
+
+public class XexunProtocolDecoderTest {
+
+ private class TestDataManager implements DataManager {
+ public List readDevice() {
+ List deviceList = new LinkedList();
+
+ Device device = new Device();
+ device.setId(new Long(1));
+ device.setImei("10000000000000");
+
+ deviceList.add(device);
+
+ return deviceList;
+ }
+
+ public void writePosition(Position position) {
+ }
+ }
+
+ @Test
+ public void testDecode() throws Exception {
+
+ String testMsg =
+ ",+10000000000," +
+ "GPRMC,010203.000,A,0102.0003,N,00102.0003,E,1.02,1.02,010203,,,A*00,F,, " +
+ "imei:10000000000000,00,00.0,";
+
+ XexunProtocolDecoder decoder = new XexunProtocolDecoder(new TestDataManager());
+ Position position = (Position) decoder.decode(null, null, testMsg);
+
+ Date time = new GregorianCalendar(2003, 1, 1, 1, 2, 3).getTime();
+ assertEquals(time, position.getTime());
+
+ assertEquals(true, position.getValid());
+
+ Double latitude = 1.0 + 2.0003 / 60.0;
+ assertEquals(latitude, position.getLatitude());
+
+ Double longitude = 1.0 + 2.0003 / 60.0;
+ assertEquals(longitude, position.getLongitude());
+
+ Double speed = 1.02;
+ assertEquals(speed, position.getSpeed());
+
+ Double course = 1.02;
+ assertEquals(course, position.getCourse());
+
+ Long deviceId = new Long(1);
+ assertEquals(deviceId, position.getDeviceId());
+ }
+
+}