Ver código fonte

修复单元测试

tags/v2.2.1
yedajiang44 3 anos atrás
pai
commit
57587eea6f
4 arquivos alterados com 286 adições e 258 exclusões
  1. +75
    -69
      src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1200_0x1202Test.cs
  2. +147
    -130
      src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1200_0x1203Test.cs
  3. +43
    -41
      src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1500_0x1502Test.cs
  4. +21
    -18
      src/JT809.Protocol.Test/Simples/Demo5.cs

+ 75
- 69
src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1200_0x1202Test.cs Ver arquivo

@@ -1,17 +1,14 @@
using System;
using System.Collections.Generic;
using System.Text;
using Xunit;
using JT809.Protocol;
using JT809.Protocol.Extensions;
using JT809.Protocol.MessageBody;
using JT809.Protocol.Exceptions;
using JT809.Protocol.SubMessageBody;
using JT809.Protocol.Internal;
using JT809.Protocol.Enums;
using JT808.Protocol;
using JT808.Protocol.Interfaces;
using JT808.Protocol.MessageBody;
using JT809.Protocol.Metadata;

namespace JT809.Protocol.Test.JT809SubMessageBody
{
@@ -30,31 +27,34 @@ namespace JT809.Protocol.Test.JT809SubMessageBody

private JT809Serializer JT809_2019_Serializer = new JT809Serializer(new DefaultGlobalConfig() { Version = JT809Version.JTT2019 });
private JT808Serializer JT808Serializer_2019;
public JT809_0x1200_0x1202Test() {
public JT809_0x1200_0x1202Test()
{
IJT808Config jT808Config = new DefaultGlobal808_2019Config();
JT808Serializer_2019 = new JT808Serializer(jT808Config);
JT808Serializer_2019 = new JT808Serializer(jT808Config);
}

[Fact]
public void Test1()
{
JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();
jT809_0X1200_0X1202.VehiclePosition = new Metadata.JT809VehiclePositionProperties();
jT809_0X1200_0X1202.VehiclePosition.Day = 19;
jT809_0X1200_0X1202.VehiclePosition.Month = 7;
jT809_0X1200_0X1202.VehiclePosition.Year = 2012;
jT809_0X1200_0X1202.VehiclePosition.Hour = 15;
jT809_0X1200_0X1202.VehiclePosition.Minute = 15;
jT809_0X1200_0X1202.VehiclePosition.Second = 15;
jT809_0X1200_0X1202.VehiclePosition.Lon = 133123456;
jT809_0X1200_0X1202.VehiclePosition.Lat = 24123456;
jT809_0X1200_0X1202.VehiclePosition.Vec1 = 50;
jT809_0X1200_0X1202.VehiclePosition.Vec2 = 51;
jT809_0X1200_0X1202.VehiclePosition.Vec3 = 150;
jT809_0X1200_0X1202.VehiclePosition.Direction = 45;
jT809_0X1200_0X1202.VehiclePosition.Altitude = 45;
jT809_0X1200_0X1202.VehiclePosition.State = 3;
jT809_0X1200_0X1202.VehiclePosition.Alarm = 257;
jT809_0X1200_0X1202.VehiclePosition = new VehiclePositionPropertieOf2011
{
Day = 19,
Month = 7,
Year = 2012,
Hour = 15,
Minute = 15,
Second = 15,
Lon = 133123456,
Lat = 24123456,
Vec1 = 50,
Vec2 = 51,
Vec3 = 150,
Direction = 45,
Altitude = 45,
State = 3,
Alarm = 257,
};
var hex = JT809Serializer.Serialize(jT809_0X1200_0X1202).ToHexString();
//"00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01"
Assert.Equal("00130707DC0F0F0F07EF4D80017018400032003300000096002D002D0000000300000101", hex);
@@ -65,35 +65,37 @@ namespace JT809.Protocol.Test.JT809SubMessageBody
{
var bytes = "00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01".ToHexBytes();
JT809_0x1200_0x1202 jT809_0X1200_0X1202 = JT809Serializer.Deserialize<JT809_0x1200_0x1202>(bytes);
Assert.Equal(19, jT809_0X1200_0X1202.VehiclePosition.Day);
Assert.Equal(7, jT809_0X1200_0X1202.VehiclePosition.Month);
Assert.Equal(2012, jT809_0X1200_0X1202.VehiclePosition.Year);
Assert.Equal(15, jT809_0X1200_0X1202.VehiclePosition.Hour);
Assert.Equal(15, jT809_0X1200_0X1202.VehiclePosition.Minute);
Assert.Equal(15, jT809_0X1200_0X1202.VehiclePosition.Second);
Assert.Equal((uint)133123456, jT809_0X1200_0X1202.VehiclePosition.Lon);
Assert.Equal((uint)24123456, jT809_0X1200_0X1202.VehiclePosition.Lat);
Assert.Equal(50, jT809_0X1200_0X1202.VehiclePosition.Vec1);
Assert.Equal(51, jT809_0X1200_0X1202.VehiclePosition.Vec2);
Assert.Equal((ushort)45, jT809_0X1200_0X1202.VehiclePosition.Direction);
Assert.Equal((ushort)45, jT809_0X1200_0X1202.VehiclePosition.Altitude);
Assert.Equal((uint)3, jT809_0X1200_0X1202.VehiclePosition.State);
Assert.Equal((uint)257, jT809_0X1200_0X1202.VehiclePosition.Alarm);
var vehiclePosition = jT809_0X1200_0X1202.VehiclePosition as VehiclePositionPropertieOf2011;
Assert.Equal(19, vehiclePosition.Day);
Assert.Equal(7, vehiclePosition.Month);
Assert.Equal(2012, vehiclePosition.Year);
Assert.Equal(15, vehiclePosition.Hour);
Assert.Equal(15, vehiclePosition.Minute);
Assert.Equal(15, vehiclePosition.Second);
Assert.Equal((uint)133123456, vehiclePosition.Lon);
Assert.Equal((uint)24123456, vehiclePosition.Lat);
Assert.Equal(50, vehiclePosition.Vec1);
Assert.Equal(51, vehiclePosition.Vec2);
Assert.Equal((ushort)45, vehiclePosition.Direction);
Assert.Equal((ushort)45, vehiclePosition.Altitude);
Assert.Equal((uint)3, vehiclePosition.State);
Assert.Equal((uint)257, vehiclePosition.Alarm);
}

[Fact]
public void Test_2019_1()
{
JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();
jT809_0X1200_0X1202.GNSSData = new Metadata.JT809VehiclePositionProperties_2019();
jT809_0X1200_0X1202.GNSSData.Encrypt = JT809_VehiclePositionEncrypt.已加密;
//jT809_0X1200_0X1202.GNSSData.GnssData = new byte[20];
jT809_0X1200_0X1202.GNSSData.PlatformId1 = "11111111111";
jT809_0X1200_0X1202.GNSSData.Alarm1 = 1;
jT809_0X1200_0X1202.GNSSData.PlatformId2 = "22222222222";
jT809_0X1200_0X1202.GNSSData.Alarm2 = 2;
jT809_0X1200_0X1202.GNSSData.PlatformId3 = "33333333333";
jT809_0X1200_0X1202.GNSSData.Alarm3 = 3;
jT809_0X1200_0X1202.VehiclePosition = new VehiclePositionPropertieOf2019
{
Encrypt = JT809_VehiclePositionEncrypt.已加密,
PlatformId1 = "11111111111",
Alarm1 = 1,
PlatformId2 = "22222222222",
Alarm2 = 2,
PlatformId3 = "33333333333",
Alarm3 = 3,
};
var hex = JT809_2019_Serializer.Serialize(jT809_0X1200_0X1202).ToHexString();
Assert.Equal("0100000000313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003", hex);

@@ -104,13 +106,14 @@ namespace JT809.Protocol.Test.JT809SubMessageBody
{
var bytes = "0100000000313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003".ToHexBytes();
JT809_0x1200_0x1202 jT809_0X1200_0X1202 = JT809_2019_Serializer.Deserialize<JT809_0x1200_0x1202>(bytes);
Assert.Equal( JT809_VehiclePositionEncrypt.已加密, jT809_0X1200_0X1202.GNSSData.Encrypt);
Assert.Equal("11111111111", jT809_0X1200_0X1202.GNSSData.PlatformId1);
Assert.Equal(1u, jT809_0X1200_0X1202.GNSSData.Alarm1);
Assert.Equal("22222222222", jT809_0X1200_0X1202.GNSSData.PlatformId2);
Assert.Equal(2u, jT809_0X1200_0X1202.GNSSData.Alarm2);
Assert.Equal("33333333333", jT809_0X1200_0X1202.GNSSData.PlatformId3);
Assert.Equal(3u, jT809_0X1200_0X1202.GNSSData.Alarm3);
var gnssData = jT809_0X1200_0X1202.VehiclePosition as VehiclePositionPropertieOf2019;
Assert.Equal(JT809_VehiclePositionEncrypt.已加密, gnssData.Encrypt);
Assert.Equal("11111111111", gnssData.PlatformId1);
Assert.Equal(1u, gnssData.Alarm1);
Assert.Equal("22222222222", gnssData.PlatformId2);
Assert.Equal(2u, gnssData.Alarm2);
Assert.Equal("33333333333", gnssData.PlatformId3);
Assert.Equal(3u, gnssData.Alarm3);
}

/// <summary>
@@ -142,15 +145,17 @@ namespace JT809.Protocol.Test.JT809SubMessageBody
var jt808_0x0200Hex = JT808Serializer_2019.Serialize(jT808UploadLocationRequest, JT808.Protocol.Enums.JT808Version.JTT2019);

JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();
jT809_0X1200_0X1202.GNSSData = new Metadata.JT809VehiclePositionProperties_2019();
jT809_0X1200_0X1202.GNSSData.Encrypt = JT809_VehiclePositionEncrypt.已加密;
jT809_0X1200_0X1202.GNSSData.GnssData = jt808_0x0200Hex;
jT809_0X1200_0X1202.GNSSData.PlatformId1 = "11111111111";
jT809_0X1200_0X1202.GNSSData.Alarm1 = 1;
jT809_0X1200_0X1202.GNSSData.PlatformId2 = "22222222222";
jT809_0X1200_0X1202.GNSSData.Alarm2 = 2;
jT809_0X1200_0X1202.GNSSData.PlatformId3 = "33333333333";
jT809_0X1200_0X1202.GNSSData.Alarm3 = 3;
jT809_0X1200_0X1202.VehiclePosition = new VehiclePositionPropertieOf2019
{
Encrypt = JT809_VehiclePositionEncrypt.已加密,
GnssData = jt808_0x0200Hex,
PlatformId1 = "11111111111",
Alarm1 = 1,
PlatformId2 = "22222222222",
Alarm2 = 2,
PlatformId3 = "33333333333",
Alarm3 = 3,
};
var hex = JT809_2019_Serializer.Serialize(jT809_0X1200_0X1202).ToHexString();
Assert.Equal("0100000026000000010000000200BA7F0E07E4F11C0028003C000018071510101001040000006402020037313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003", hex);

@@ -161,15 +166,16 @@ namespace JT809.Protocol.Test.JT809SubMessageBody
{
var bytes = "0100000026000000010000000200BA7F0E07E4F11C0028003C000018071510101001040000006402020037313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003".ToHexBytes();
JT809_0x1200_0x1202 jT809_0X1200_0X1202 = JT809_2019_Serializer.Deserialize<JT809_0x1200_0x1202>(bytes);
Assert.Equal(JT809_VehiclePositionEncrypt.已加密, jT809_0X1200_0X1202.GNSSData.Encrypt);
Assert.Equal("11111111111", jT809_0X1200_0X1202.GNSSData.PlatformId1);
Assert.Equal(1u, jT809_0X1200_0X1202.GNSSData.Alarm1);
Assert.Equal("22222222222", jT809_0X1200_0X1202.GNSSData.PlatformId2);
Assert.Equal(2u, jT809_0X1200_0X1202.GNSSData.Alarm2);
Assert.Equal("33333333333", jT809_0X1200_0X1202.GNSSData.PlatformId3);
Assert.Equal(3u, jT809_0X1200_0X1202.GNSSData.Alarm3);
var gnssData = jT809_0X1200_0X1202.VehiclePosition as VehiclePositionPropertieOf2019;
Assert.Equal(JT809_VehiclePositionEncrypt.已加密, gnssData.Encrypt);
Assert.Equal("11111111111", gnssData.PlatformId1);
Assert.Equal(1u, gnssData.Alarm1);
Assert.Equal("22222222222", gnssData.PlatformId2);
Assert.Equal(2u, gnssData.Alarm2);
Assert.Equal("33333333333", gnssData.PlatformId3);
Assert.Equal(3u, gnssData.Alarm3);

var jt808_0x0200Hex = jT809_0X1200_0X1202.GNSSData.GnssData;
var jt808_0x0200Hex = gnssData.GnssData;
var jt808_0x0200 = JT808Serializer_2019.Deserialize<JT808_0x0200>(jt808_0x0200Hex, JT808.Protocol.Enums.JT808Version.JTT2019);
Assert.Equal((uint)1, jt808_0x0200.AlarmFlag);
Assert.Equal(DateTime.Parse("2018-07-15 10:10:10"), jt808_0x0200.GPSTime);


+ 147
- 130
src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1200_0x1203Test.cs Ver arquivo

@@ -9,6 +9,7 @@ using JT809.Protocol.Exceptions;
using JT809.Protocol.SubMessageBody;
using JT809.Protocol.Enums;
using JT809.Protocol.Internal;
using JT809.Protocol.Metadata;

namespace JT809.Protocol.Test.JT809SubMessageBody
{
@@ -23,58 +24,64 @@ namespace JT809.Protocol.Test.JT809SubMessageBody
jT809_0X1200_0X1203.GNSS = new List<JT809_0x1200_0x1202>();

JT809_0x1200_0x1202 jT809_0X1200_0X1202_1 = new JT809_0x1200_0x1202();
jT809_0X1200_0X1202_1.VehiclePosition = new Metadata.JT809VehiclePositionProperties();
jT809_0X1200_0X1202_1.VehiclePosition.Day = 19;
jT809_0X1200_0X1202_1.VehiclePosition.Month = 7;
jT809_0X1200_0X1202_1.VehiclePosition.Year = 2012;
jT809_0X1200_0X1202_1.VehiclePosition.Hour = 15;
jT809_0X1200_0X1202_1.VehiclePosition.Minute = 15;
jT809_0X1200_0X1202_1.VehiclePosition.Second = 15;
jT809_0X1200_0X1202_1.VehiclePosition.Lon = 133123456;
jT809_0X1200_0X1202_1.VehiclePosition.Lat = 24123456;
jT809_0X1200_0X1202_1.VehiclePosition.Vec1 = 50;
jT809_0X1200_0X1202_1.VehiclePosition.Vec2 = 51;
jT809_0X1200_0X1202_1.VehiclePosition.Vec3 = 150;
jT809_0X1200_0X1202_1.VehiclePosition.Direction = 45;
jT809_0X1200_0X1202_1.VehiclePosition.Altitude = 45;
jT809_0X1200_0X1202_1.VehiclePosition.State = 3;
jT809_0X1200_0X1202_1.VehiclePosition.Alarm = 257;
jT809_0X1200_0X1202_1.VehiclePosition = new VehiclePositionPropertieOf2011
{
Day = 19,
Month = 7,
Year = 2012,
Hour = 15,
Minute = 15,
Second = 15,
Lon = 133123456,
Lat = 24123456,
Vec1 = 50,
Vec2 = 51,
Vec3 = 150,
Direction = 45,
Altitude = 45,
State = 3,
Alarm = 257,
};

JT809_0x1200_0x1202 jT809_0X1200_0X1202_2 = new JT809_0x1200_0x1202();
jT809_0X1200_0X1202_2.VehiclePosition = new Metadata.JT809VehiclePositionProperties();
jT809_0X1200_0X1202_2.VehiclePosition.Day = 19;
jT809_0X1200_0X1202_2.VehiclePosition.Month = 7;
jT809_0X1200_0X1202_2.VehiclePosition.Year = 2012;
jT809_0X1200_0X1202_2.VehiclePosition.Hour = 16;
jT809_0X1200_0X1202_2.VehiclePosition.Minute = 16;
jT809_0X1200_0X1202_2.VehiclePosition.Second = 16;
jT809_0X1200_0X1202_2.VehiclePosition.Lon = 133123456;
jT809_0X1200_0X1202_2.VehiclePosition.Lat = 24123456;
jT809_0X1200_0X1202_2.VehiclePosition.Vec1 = 50;
jT809_0X1200_0X1202_2.VehiclePosition.Vec2 = 51;
jT809_0X1200_0X1202_2.VehiclePosition.Vec3 = 150;
jT809_0X1200_0X1202_2.VehiclePosition.Direction = 45;
jT809_0X1200_0X1202_2.VehiclePosition.Altitude = 45;
jT809_0X1200_0X1202_2.VehiclePosition.State = 3;
jT809_0X1200_0X1202_2.VehiclePosition.Alarm = 257;
jT809_0X1200_0X1202_2.VehiclePosition = new VehiclePositionPropertieOf2011
{
Day = 19,
Month = 7,
Year = 2012,
Hour = 16,
Minute = 16,
Second = 16,
Lon = 133123456,
Lat = 24123456,
Vec1 = 50,
Vec2 = 51,
Vec3 = 150,
Direction = 45,
Altitude = 45,
State = 3,
Alarm = 257,
};

JT809_0x1200_0x1202 jT809_0X1200_0X1202_3 = new JT809_0x1200_0x1202();
jT809_0X1200_0X1202_3.VehiclePosition = new Metadata.JT809VehiclePositionProperties();
jT809_0X1200_0X1202_3.VehiclePosition.Day = 19;
jT809_0X1200_0X1202_3.VehiclePosition.Month = 7;
jT809_0X1200_0X1202_3.VehiclePosition.Year = 2012;
jT809_0X1200_0X1202_3.VehiclePosition.Hour = 17;
jT809_0X1200_0X1202_3.VehiclePosition.Minute = 17;
jT809_0X1200_0X1202_3.VehiclePosition.Second = 17;
jT809_0X1200_0X1202_3.VehiclePosition.Lon = 133123456;
jT809_0X1200_0X1202_3.VehiclePosition.Lat = 24123456;
jT809_0X1200_0X1202_3.VehiclePosition.Vec1 = 50;
jT809_0X1200_0X1202_3.VehiclePosition.Vec2 = 51;
jT809_0X1200_0X1202_3.VehiclePosition.Vec3 = 150;
jT809_0X1200_0X1202_3.VehiclePosition.Direction = 45;
jT809_0X1200_0X1202_3.VehiclePosition.Altitude = 45;
jT809_0X1200_0X1202_3.VehiclePosition.State = 3;
jT809_0X1200_0X1202_3.VehiclePosition.Alarm = 257;
jT809_0X1200_0X1202_3.VehiclePosition = new VehiclePositionPropertieOf2011
{
Day = 19,
Month = 7,
Year = 2012,
Hour = 17,
Minute = 17,
Second = 17,
Lon = 133123456,
Lat = 24123456,
Vec1 = 50,
Vec2 = 51,
Vec3 = 150,
Direction = 45,
Altitude = 45,
State = 3,
Alarm = 257,
};


jT809_0X1200_0X1203.GNSS.Add(jT809_0X1200_0X1202_1);
@@ -94,79 +101,86 @@ namespace JT809.Protocol.Test.JT809SubMessageBody

Assert.Equal(3, jT809_0X1200_0X1203.GNSSCount);


Assert.Equal(19, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Day);
Assert.Equal(7, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Month);
Assert.Equal(2012, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Year);
Assert.Equal(15, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Hour);
Assert.Equal(15, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Minute);
Assert.Equal(15, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Second);
Assert.Equal((uint)133123456, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Lon);
Assert.Equal((uint)24123456, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Lat);
Assert.Equal(50, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Vec1);
Assert.Equal(51, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Vec2);
Assert.Equal((ushort)45, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Direction);
Assert.Equal((ushort)45, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Altitude);
Assert.Equal((uint)3, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.State);
Assert.Equal((uint)257, jT809_0X1200_0X1203.GNSS[0].VehiclePosition.Alarm);

Assert.Equal(19, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Day);
Assert.Equal(7, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Month);
Assert.Equal(2012, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Year);
Assert.Equal(16, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Hour);
Assert.Equal(16, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Minute);
Assert.Equal(16, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Second);
Assert.Equal((uint)133123456, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Lon);
Assert.Equal((uint)24123456, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Lat);
Assert.Equal(50, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Vec1);
Assert.Equal(51, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Vec2);
Assert.Equal((ushort)45, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Direction);
Assert.Equal((ushort)45, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Altitude);
Assert.Equal((uint)3, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.State);
Assert.Equal((uint)257, jT809_0X1200_0X1203.GNSS[1].VehiclePosition.Alarm);

Assert.Equal(19, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Day);
Assert.Equal(7, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Month);
Assert.Equal(2012, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Year);
Assert.Equal(17, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Hour);
Assert.Equal(17, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Minute);
Assert.Equal(17, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Second);
Assert.Equal((uint)133123456, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Lon);
Assert.Equal((uint)24123456, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Lat);
Assert.Equal(50, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Vec1);
Assert.Equal(51, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Vec2);
Assert.Equal((ushort)45, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Direction);
Assert.Equal((ushort)45, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Altitude);
Assert.Equal((uint)3, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.State);
Assert.Equal((uint)257, jT809_0X1200_0X1203.GNSS[2].VehiclePosition.Alarm);
var vehiclePosition1 = jT809_0X1200_0X1203.GNSS[0].VehiclePosition as VehiclePositionPropertieOf2011;
var vehiclePosition2 = jT809_0X1200_0X1203.GNSS[1].VehiclePosition as VehiclePositionPropertieOf2011;
var vehiclePosition3 = jT809_0X1200_0X1203.GNSS[2].VehiclePosition as VehiclePositionPropertieOf2011;
Assert.Equal(19, vehiclePosition1.Day);
Assert.Equal(7, vehiclePosition1.Month);
Assert.Equal(2012, vehiclePosition1.Year);
Assert.Equal(15, vehiclePosition1.Hour);
Assert.Equal(15, vehiclePosition1.Minute);
Assert.Equal(15, vehiclePosition1.Second);
Assert.Equal((uint)133123456, vehiclePosition1.Lon);
Assert.Equal((uint)24123456, vehiclePosition1.Lat);
Assert.Equal(50, vehiclePosition1.Vec1);
Assert.Equal(51, vehiclePosition1.Vec2);
Assert.Equal((ushort)45, vehiclePosition1.Direction);
Assert.Equal((ushort)45, vehiclePosition1.Altitude);
Assert.Equal((uint)3, vehiclePosition1.State);
Assert.Equal((uint)257, vehiclePosition1.Alarm);

Assert.Equal(19, vehiclePosition2.Day);
Assert.Equal(7, vehiclePosition2.Month);
Assert.Equal(2012, vehiclePosition2.Year);
Assert.Equal(16, vehiclePosition2.Hour);
Assert.Equal(16, vehiclePosition2.Minute);
Assert.Equal(16, vehiclePosition2.Second);
Assert.Equal((uint)133123456, vehiclePosition2.Lon);
Assert.Equal((uint)24123456, vehiclePosition2.Lat);
Assert.Equal(50, vehiclePosition2.Vec1);
Assert.Equal(51, vehiclePosition2.Vec2);
Assert.Equal((ushort)45, vehiclePosition2.Direction);
Assert.Equal((ushort)45, vehiclePosition2.Altitude);
Assert.Equal((uint)3, vehiclePosition2.State);
Assert.Equal((uint)257, vehiclePosition2.Alarm);

Assert.Equal(19, vehiclePosition3.Day);
Assert.Equal(7, vehiclePosition3.Month);
Assert.Equal(2012, vehiclePosition3.Year);
Assert.Equal(17, vehiclePosition3.Hour);
Assert.Equal(17, vehiclePosition3.Minute);
Assert.Equal(17, vehiclePosition3.Second);
Assert.Equal((uint)133123456, vehiclePosition3.Lon);
Assert.Equal((uint)24123456, vehiclePosition3.Lat);
Assert.Equal(50, vehiclePosition3.Vec1);
Assert.Equal(51, vehiclePosition3.Vec2);
Assert.Equal((ushort)45, vehiclePosition3.Direction);
Assert.Equal((ushort)45, vehiclePosition3.Altitude);
Assert.Equal((uint)3, vehiclePosition3.State);
Assert.Equal((uint)257, vehiclePosition3.Alarm);
}

[Fact]
public void Test_2019_1()
{
JT809_0x1200_0x1203 jT809_0X1200_0X1203 = new JT809_0x1200_0x1203();
jT809_0X1200_0X1203.GNSS = new List<JT809_0x1200_0x1202>();
JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();
jT809_0X1200_0X1202.GNSSData = new Metadata.JT809VehiclePositionProperties_2019();
jT809_0X1200_0X1202.GNSSData.Encrypt = JT809_VehiclePositionEncrypt.已加密;
//jT809_0X1200_0X1202.GNSSData.GnssData = new byte[20];
jT809_0X1200_0X1202.GNSSData.PlatformId1 = "11111111111";
jT809_0X1200_0X1202.GNSSData.Alarm1 = 1;
jT809_0X1200_0X1202.GNSSData.PlatformId2 = "22222222222";
jT809_0X1200_0X1202.GNSSData.Alarm2 = 2;
jT809_0X1200_0X1202.GNSSData.PlatformId3 = "33333333333";
jT809_0X1200_0X1202.GNSSData.Alarm3 = 3;
jT809_0X1200_0X1203.GNSS.Add(jT809_0X1200_0X1202);
JT809_0x1200_0x1202 jT809_0X1200_0X1202_1 = new JT809_0x1200_0x1202();
jT809_0X1200_0X1202_1.GNSSData = new Metadata.JT809VehiclePositionProperties_2019();
jT809_0X1200_0X1202_1.GNSSData.Encrypt = JT809_VehiclePositionEncrypt.已加密;
jT809_0X1200_0X1202_1.GNSSData.PlatformId1 = "11111111111";
jT809_0X1200_0X1202_1.GNSSData.Alarm1 = 1;
jT809_0X1200_0X1202_1.GNSSData.PlatformId2 = "22222222222";
jT809_0X1200_0X1202_1.GNSSData.Alarm2 = 2;
jT809_0X1200_0X1202_1.GNSSData.PlatformId3 = "33333333333";
jT809_0X1200_0X1202_1.GNSSData.Alarm3 = 3;
jT809_0X1200_0X1203.GNSS.Add(jT809_0X1200_0X1202_1);
jT809_0X1200_0X1203.GNSS = new List<JT809_0x1200_0x1202>(){
new JT809_0x1200_0x1202
{
VehiclePosition = new VehiclePositionPropertieOf2019
{
Encrypt = JT809_VehiclePositionEncrypt.已加密,
PlatformId1 = "11111111111",
Alarm1 = 1,
PlatformId2 = "22222222222",
Alarm2 = 2,
PlatformId3 = "33333333333",
Alarm3 = 3,
}
},
new JT809_0x1200_0x1202{
VehiclePosition=new VehiclePositionPropertieOf2019{
Encrypt = JT809_VehiclePositionEncrypt.已加密,
PlatformId1 = "11111111111",
Alarm1 = 1,
PlatformId2 = "22222222222",
Alarm2 = 2,
PlatformId3 = "33333333333",
Alarm3 = 3,
}
}
};

var hex = JT809_2019_Serializer.Serialize(jT809_0X1200_0X1203).ToHexString();
Assert.Equal("0201000000003131313131313131313131000000013232323232323232323232000000023333333333333333333333000000030100000000313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003", hex);

@@ -177,21 +191,24 @@ namespace JT809.Protocol.Test.JT809SubMessageBody
{
var bytes = "0201000000003131313131313131313131000000013232323232323232323232000000023333333333333333333333000000030100000000313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003".ToHexBytes();
JT809_0x1200_0x1203 jT809_0X1200_0X1203 = JT809_2019_Serializer.Deserialize<JT809_0x1200_0x1203>(bytes);
Assert.Equal(JT809_VehiclePositionEncrypt.已加密, jT809_0X1200_0X1203.GNSS[0].GNSSData.Encrypt);
Assert.Equal("11111111111", jT809_0X1200_0X1203.GNSS[0].GNSSData.PlatformId1);
Assert.Equal(1u, jT809_0X1200_0X1203.GNSS[0].GNSSData.Alarm1);
Assert.Equal("22222222222", jT809_0X1200_0X1203.GNSS[0].GNSSData.PlatformId2);
Assert.Equal(2u, jT809_0X1200_0X1203.GNSS[0].GNSSData.Alarm2);
Assert.Equal("33333333333", jT809_0X1200_0X1203.GNSS[0].GNSSData.PlatformId3);
Assert.Equal(3u, jT809_0X1200_0X1203.GNSS[0].GNSSData.Alarm3);

Assert.Equal(JT809_VehiclePositionEncrypt.已加密, jT809_0X1200_0X1203.GNSS[1].GNSSData.Encrypt);
Assert.Equal("11111111111", jT809_0X1200_0X1203.GNSS[1].GNSSData.PlatformId1);
Assert.Equal(1u, jT809_0X1200_0X1203.GNSS[1].GNSSData.Alarm1);
Assert.Equal("22222222222", jT809_0X1200_0X1203.GNSS[1].GNSSData.PlatformId2);
Assert.Equal(2u, jT809_0X1200_0X1203.GNSS[1].GNSSData.Alarm2);
Assert.Equal("33333333333", jT809_0X1200_0X1203.GNSS[1].GNSSData.PlatformId3);
Assert.Equal(3u, jT809_0X1200_0X1203.GNSS[1].GNSSData.Alarm3);

var vehiclePosition1 = jT809_0X1200_0X1203.GNSS[0].VehiclePosition as VehiclePositionPropertieOf2019;
var vehiclePosition2 = jT809_0X1200_0X1203.GNSS[1].VehiclePosition as VehiclePositionPropertieOf2019;
Assert.Equal(JT809_VehiclePositionEncrypt.已加密, vehiclePosition1.Encrypt);
Assert.Equal("11111111111", vehiclePosition1.PlatformId1);
Assert.Equal(1u, vehiclePosition1.Alarm1);
Assert.Equal("22222222222", vehiclePosition1.PlatformId2);
Assert.Equal(2u, vehiclePosition1.Alarm2);
Assert.Equal("33333333333", vehiclePosition1.PlatformId3);
Assert.Equal(3u, vehiclePosition1.Alarm3);

Assert.Equal(JT809_VehiclePositionEncrypt.已加密, vehiclePosition2.Encrypt);
Assert.Equal("11111111111", vehiclePosition2.PlatformId1);
Assert.Equal(1u, vehiclePosition2.Alarm1);
Assert.Equal("22222222222", vehiclePosition2.PlatformId2);
Assert.Equal(2u, vehiclePosition2.Alarm2);
Assert.Equal("33333333333", vehiclePosition2.PlatformId3);
Assert.Equal(3u, vehiclePosition2.Alarm3);
}
}
}

+ 43
- 41
src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1500_0x1502Test.cs Ver arquivo

@@ -20,29 +20,29 @@ namespace JT809.Protocol.Test.JT809SubMessageBody
{
JT809_0x1500_0x1502 jT809_0x1500_0x1502 = new JT809_0x1500_0x1502
{
PhotoRspFlag= JT809_0x1502_PhotoRspFlag.完成拍照,
VehiclePosition=new JT809VehiclePositionProperties
{
Encrypt= JT809_VehiclePositionEncrypt.未加密,
Day=19,
Month=7,
Year=2012,
Hour=15,
Minute=15,
Second=15,
Lon= 133123456,
Lat= 24123456,
Vec1=53,
Vec2=45,
Vec3=1234,
Direction=45,
Altitude=45,
State=1,
Alarm=1
},
LensID=123,
SizeType= JT809__0x9502_SizeType._320x240 ,
Type= JT809__0x9502_ImageType.jpg,
PhotoRspFlag = JT809_0x1502_PhotoRspFlag.完成拍照,
VehiclePosition = new VehiclePositionPropertieOf2011
{
Encrypt = JT809_VehiclePositionEncrypt.未加密,
Day = 19,
Month = 7,
Year = 2012,
Hour = 15,
Minute = 15,
Second = 15,
Lon = 133123456,
Lat = 24123456,
Vec1 = 53,
Vec2 = 45,
Vec3 = 1234,
Direction = 45,
Altitude = 45,
State = 1,
Alarm = 1
},
LensID = 123,
SizeType = JT809__0x9502_SizeType._320x240,
Type = JT809__0x9502_ImageType.jpg,
};
var hex = JT809Serializer.Serialize(jT809_0x1500_0x1502).ToHexString();
//"01 00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 35 00 2D 00 00 04 D2 00 2D 00 2D 00 00 00 01 00 00 00 01 7B 00 00 00 00 01 01"
@@ -54,26 +54,28 @@ namespace JT809.Protocol.Test.JT809SubMessageBody
{
var bytes = "01 00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 35 00 2D 00 00 04 D2 00 2D 00 2D 00 00 00 01 00 00 00 01 7B 00 00 00 00 01 01".ToHexBytes();
JT809_0x1500_0x1502 jT809_0x1500_0x1502 = JT809Serializer.Deserialize<JT809_0x1500_0x1502>(bytes);

var vehiclePosition = jT809_0x1500_0x1502.VehiclePosition as VehiclePositionPropertieOf2011;
Assert.Equal(JT809_0x1502_PhotoRspFlag.完成拍照, jT809_0x1500_0x1502.PhotoRspFlag);
Assert.Equal(JT809_VehiclePositionEncrypt.未加密, jT809_0x1500_0x1502.VehiclePosition.Encrypt);
Assert.Equal(19, jT809_0x1500_0x1502.VehiclePosition.Day);
Assert.Equal(7, jT809_0x1500_0x1502.VehiclePosition.Month);
Assert.Equal(2012, jT809_0x1500_0x1502.VehiclePosition.Year);
Assert.Equal(15, jT809_0x1500_0x1502.VehiclePosition.Hour);
Assert.Equal(15, jT809_0x1500_0x1502.VehiclePosition.Minute);
Assert.Equal(15, jT809_0x1500_0x1502.VehiclePosition.Second);
Assert.Equal((uint)133123456, jT809_0x1500_0x1502.VehiclePosition.Lon);
Assert.Equal((uint)24123456, jT809_0x1500_0x1502.VehiclePosition.Lat);
Assert.Equal((ushort)53, jT809_0x1500_0x1502.VehiclePosition.Vec1);
Assert.Equal((ushort)45, jT809_0x1500_0x1502.VehiclePosition.Vec2);
Assert.Equal((uint)1234, jT809_0x1500_0x1502.VehiclePosition.Vec3);
Assert.Equal((ushort)45, jT809_0x1500_0x1502.VehiclePosition.Direction);
Assert.Equal((ushort)45, jT809_0x1500_0x1502.VehiclePosition.Altitude);
Assert.Equal((uint)1, jT809_0x1500_0x1502.VehiclePosition.State);
Assert.Equal((uint)1, jT809_0x1500_0x1502.VehiclePosition.Alarm);
Assert.Equal(JT809_VehiclePositionEncrypt.未加密, vehiclePosition.Encrypt);
Assert.Equal(19, vehiclePosition.Day);
Assert.Equal(7, vehiclePosition.Month);
Assert.Equal(2012, vehiclePosition.Year);
Assert.Equal(15, vehiclePosition.Hour);
Assert.Equal(15, vehiclePosition.Minute);
Assert.Equal(15, vehiclePosition.Second);
Assert.Equal((uint)133123456, vehiclePosition.Lon);
Assert.Equal((uint)24123456, vehiclePosition.Lat);
Assert.Equal((ushort)53, vehiclePosition.Vec1);
Assert.Equal((ushort)45, vehiclePosition.Vec2);
Assert.Equal((uint)1234, vehiclePosition.Vec3);
Assert.Equal((ushort)45, vehiclePosition.Direction);
Assert.Equal((ushort)45, vehiclePosition.Altitude);
Assert.Equal((uint)1, vehiclePosition.State);
Assert.Equal((uint)1, vehiclePosition.Alarm);
Assert.Equal(123, jT809_0x1500_0x1502.LensID);
Assert.Equal( JT809__0x9502_SizeType._320x240, jT809_0x1500_0x1502.SizeType);
Assert.Equal( JT809__0x9502_ImageType.jpg, jT809_0x1500_0x1502.Type);
Assert.Equal(JT809__0x9502_SizeType._320x240, jT809_0x1500_0x1502.SizeType);
Assert.Equal(JT809__0x9502_ImageType.jpg, jT809_0x1500_0x1502.Type);
}
}
}

+ 21
- 18
src/JT809.Protocol.Test/Simples/Demo5.cs Ver arquivo

@@ -161,15 +161,17 @@ namespace JT809.Protocol.Test.Simples
var jt808_0x0200Hex = JT808_2019_Serializer.Serialize(jT808UploadLocationRequest, JT808.Protocol.Enums.JT808Version.JTT2019);

JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();
jT809_0X1200_0X1202.GNSSData = new Metadata.JT809VehiclePositionProperties_2019();
jT809_0X1200_0X1202.GNSSData.Encrypt = JT809_VehiclePositionEncrypt.已加密;
jT809_0X1200_0X1202.GNSSData.GnssData = jt808_0x0200Hex;
jT809_0X1200_0X1202.GNSSData.PlatformId1 = "11111111111";
jT809_0X1200_0X1202.GNSSData.Alarm1 = 1;
jT809_0X1200_0X1202.GNSSData.PlatformId2 = "22222222222";
jT809_0X1200_0X1202.GNSSData.Alarm2 = 2;
jT809_0X1200_0X1202.GNSSData.PlatformId3 = "33333333333";
jT809_0X1200_0X1202.GNSSData.Alarm3 = 3;
jT809_0X1200_0X1202.VehiclePosition = new Metadata.VehiclePositionPropertieOf2019
{
Encrypt = JT809_VehiclePositionEncrypt.已加密,
GnssData = jt808_0x0200Hex,
PlatformId1 = "11111111111",
Alarm1 = 1,
PlatformId2 = "22222222222",
Alarm2 = 2,
PlatformId3 = "33333333333",
Alarm3 = 3,
};
var hex = JT809_2019_Serializer.Serialize(jT809_0X1200_0X1202).ToHexString();
Assert.Equal("0100000026000000010000000200BA7F0E07E4F11C0028003C000018071510101001040000006402020037313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003", hex);

@@ -180,15 +182,16 @@ namespace JT809.Protocol.Test.Simples
{
var bytes = "0100000026000000010000000200BA7F0E07E4F11C0028003C000018071510101001040000006402020037313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003".ToHexBytes();
JT809_0x1200_0x1202 jT809_0X1200_0X1202 = JT809_2019_Serializer.Deserialize<JT809_0x1200_0x1202>(bytes);
Assert.Equal(JT809_VehiclePositionEncrypt.已加密, jT809_0X1200_0X1202.GNSSData.Encrypt);
Assert.Equal("11111111111", jT809_0X1200_0X1202.GNSSData.PlatformId1);
Assert.Equal(1u, jT809_0X1200_0X1202.GNSSData.Alarm1);
Assert.Equal("22222222222", jT809_0X1200_0X1202.GNSSData.PlatformId2);
Assert.Equal(2u, jT809_0X1200_0X1202.GNSSData.Alarm2);
Assert.Equal("33333333333", jT809_0X1200_0X1202.GNSSData.PlatformId3);
Assert.Equal(3u, jT809_0X1200_0X1202.GNSSData.Alarm3);

var jt808_0x0200Hex = jT809_0X1200_0X1202.GNSSData.GnssData;
var GNSSData = jT809_0X1200_0X1202.VehiclePosition as Metadata.VehiclePositionPropertieOf2019;
Assert.Equal(JT809_VehiclePositionEncrypt.已加密, GNSSData.Encrypt);
Assert.Equal("11111111111", GNSSData.PlatformId1);
Assert.Equal(1u, GNSSData.Alarm1);
Assert.Equal("22222222222", GNSSData.PlatformId2);
Assert.Equal(2u, GNSSData.Alarm2);
Assert.Equal("33333333333", GNSSData.PlatformId3);
Assert.Equal(3u, GNSSData.Alarm3);

var jt808_0x0200Hex = GNSSData.GnssData;
var jt808_0x0200 = JT808_2019_Serializer.Deserialize<JT808_0x0200>(jt808_0x0200Hex, JT808.Protocol.Enums.JT808Version.JTT2019);
Assert.Equal((uint)1, jt808_0x0200.AlarmFlag);
Assert.Equal(DateTime.Parse("2018-07-15 10:10:10"), jt808_0x0200.GPSTime);


Carregando…
Cancelar
Salvar