diff --git a/src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1300_0x1301Test.cs b/src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1300_0x1301Test.cs new file mode 100644 index 0000000..c7f284b --- /dev/null +++ b/src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1300_0x1301Test.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Xunit; +using JT809.Protocol; +using JT809.Protocol.JT809Extensions; +using JT809.Protocol.JT809MessageBody; +using JT809.Protocol.JT809Exceptions; +using JT809.Protocol.JT809SubMessageBody; + +namespace JT809.Protocol.Test.JT809SubMessageBody +{ + public class JT809_0x1300_0x1301Test + { + [Fact] + public void Test1() + { + JT809_0x1300_0x1301 jT809_0x1300_0x1301 = new JT809_0x1300_0x1301 + { + ObjectID = "111", + InfoContent = "22ha22", + InfoID = 1234, + ObjectType = JT809Enums.JT809_0x1301_ObjectType.当前连接的下级平台 + }; + var hex = JT809Serializer.Serialize(jT809_0x1300_0x1301).ToHexString(); + //"01 31 31 31 00 00 00 00 00 00 00 00 00 00 00 04 D2 00 00 00 06 32 32 68 61 32 32" + } + + [Fact] + public void Test2() + { + var bytes = "01 31 31 31 00 00 00 00 00 00 00 00 00 00 00 04 D2 00 00 00 06 32 32 68 61 32 32".ToHexBytes(); + JT809_0x1300_0x1301 jT809_0x1300_0x1301 = JT809Serializer.Deserialize(bytes); + Assert.Equal("111", jT809_0x1300_0x1301.ObjectID); + Assert.Equal("22ha22", jT809_0x1300_0x1301.InfoContent); + Assert.Equal((uint)1234, jT809_0x1300_0x1301.InfoID); + Assert.Equal(JT809Enums.JT809_0x1301_ObjectType.当前连接的下级平台, jT809_0x1300_0x1301.ObjectType); + } + } +} diff --git a/src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1400_0x1402Test.cs b/src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1400_0x1402Test.cs new file mode 100644 index 0000000..2520607 --- /dev/null +++ b/src/JT809.Protocol.Test/JT809SubMessageBody/JT809_0x1400_0x1402Test.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Xunit; +using JT809.Protocol; +using JT809.Protocol.JT809Extensions; +using JT809.Protocol.JT809MessageBody; +using JT809.Protocol.JT809Exceptions; +using JT809.Protocol.JT809SubMessageBody; + +namespace JT809.Protocol.Test.JT809SubMessageBody +{ + public class JT809_0x1400_0x1402Test + { + [Fact] + public void Test1() + { + JT809_0x1400_0x1402 jT809_0x1400_0x1402 = new JT809_0x1400_0x1402 + { + WarnSrc= JT809Enums.JT809WarnSrc.车载终端, + WarnType = 18, + WarnTime=DateTime.Parse("2018-09-26"), + InfoContent = "gfdf454553", + InfoID = 3344, + }; + var hex = JT809Serializer.Serialize(jT809_0x1400_0x1402).ToHexString(); + // "00 00 12 00 00 00 00 5B AA 5B 80 00 00 0D 10 00 00 00 0A 67 66 64 66 34 35 34 35 35 33" + } + + [Fact] + public void Test2() + { + var bytes = "00 00 12 00 00 00 00 5B AA 5B 80 00 00 0D 10 00 00 00 0A 67 66 64 66 34 35 34 35 35 33".ToHexBytes(); + JT809_0x1400_0x1402 jT809_0x1400_0x1402 = JT809Serializer.Deserialize(bytes); + Assert.Equal(JT809Enums.JT809WarnSrc.车载终端, jT809_0x1400_0x1402.WarnSrc); + Assert.Equal("gfdf454553", jT809_0x1400_0x1402.InfoContent); + Assert.Equal((uint)18, jT809_0x1400_0x1402.WarnType); + Assert.Equal((uint)3344, jT809_0x1400_0x1402.InfoID); + Assert.Equal((uint)10, jT809_0x1400_0x1402.InfoLength); + Assert.Equal(DateTime.Parse("2018-09-26"), jT809_0x1400_0x1402.WarnTime); + } + } +} diff --git a/src/JT809.Protocol/JT809SubMessageBody/JT809_0x1200_0x120C.cs b/src/JT809.Protocol/JT809SubMessageBody/JT809_0x1200_0x120C.cs index b727332..f7d4dbd 100644 --- a/src/JT809.Protocol/JT809SubMessageBody/JT809_0x1200_0x120C.cs +++ b/src/JT809.Protocol/JT809SubMessageBody/JT809_0x1200_0x120C.cs @@ -1,4 +1,6 @@ -using System; +using JT809.Protocol.JT809Attributes; +using JT809.Protocol.JT809Formatters.JT809SubMessageBodyFormatters; +using System; using System.Collections.Generic; using System.Text; @@ -8,6 +10,7 @@ namespace JT809.Protocol.JT809SubMessageBody /// 主动上报驾驶员身份信息消息 /// 子业务类型标识:UP_EXG_MSG_REPORT_DRIVER_INFO /// + [JT809Formatter(typeof(JT809_0x1200_0x120CFormatter))] public class JT809_0x1200_0x120C:JT809SubBodies { ///