From 6d8a0a8bebdb8d82981aad1e2cabf575a6bb1f7a Mon Sep 17 00:00:00 2001 From: SmallChi <564952747@qq.com> Date: Fri, 28 Sep 2018 15:03:07 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A00x9401=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=202.=E5=AE=8C=E5=96=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JT809_0x9400_0x9401PackageTest.cs | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/JT809.Protocol.Test/JT809Packages/JT809_0x9400_0x9401PackageTest.cs diff --git a/src/JT809.Protocol.Test/JT809Packages/JT809_0x9400_0x9401PackageTest.cs b/src/JT809.Protocol.Test/JT809Packages/JT809_0x9400_0x9401PackageTest.cs new file mode 100644 index 0000000..4a9eb8b --- /dev/null +++ b/src/JT809.Protocol.Test/JT809Packages/JT809_0x9400_0x9401PackageTest.cs @@ -0,0 +1,87 @@ +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.JT809SubMessageBody; +using JT809.Protocol.JT809Enums; + +namespace JT809.Protocol.Test.JT809Packages +{ + public class JT809_0x9400_0x9401PackageTest + { + [Fact] + public void Test1() + { + JT809Package jT809Package = new JT809Package(); + + jT809Package.Header = new JT809Header + { + MsgSN = 1666, + EncryptKey = 9999, + EncryptFlag= JT809Header_Encrypt.None, + Version = new JT809Header_Version(1, 0, 0), + MsgID = JT809Enums.JT809BusinessType.DOWN_WARN_MSG, + MsgGNSSCENTERID = 20180920, + }; + + jT809Package.Bodies = new JT809_0x9400 + { + VehicleNo="粤A12345", + VehicleColor= JT809Enums.JT809VehicleColorType.黄色, + SubBusinessType= JT809Enums.JT809SubBusinessType.DOWN_WARN_MSG_URGE_TODO_REQ, + }; + + JT809_0x9400_0x9401 jT809_0x9400_0x9401 = new JT809_0x9400_0x9401 + { + WarnSrc = JT809WarnSrc.车载终端, + WarnType = JT809WarnType.疲劳驾驶报警, + WarnTime = DateTime.Parse("2018-09-27 10:24:00"), + SupervisionID = "123FFAA1", + SupervisionEndTime = DateTime.Parse("2018-09-27 11:24:00"), + SupervisionLevel = 3, + Supervisor = "smallchi", + SupervisorTel = "12345678901", + SupervisorEmail = "123456@qq.com" + }; + jT809Package.Bodies.JT809SubBodies = jT809_0x9400_0x9401; + + var hex = JT809Serializer.Serialize(jT809Package).ToHexString(); + //"5B 00 00 00 92 00 00 06 82 94 00 01 33 EF B8 01 00 00 00 00 00 27 0F D4 C1 41 31 32 33 34 35 00 00 00 00 00 00 00 00 00 00 00 00 00 02 94 01 00 00 00 5C 01 00 02 00 00 00 00 5A 01 AC 3F 40 12 3F FA A1 00 00 00 00 5A 01 AC 4D 50 03 73 6D 61 6C 6C 63 68 69 00 00 00 00 00 00 00 00 31 32 33 34 35 36 37 38 39 30 31 00 00 00 00 00 00 00 00 00 31 32 33 34 35 36 40 71 71 2E 63 6F 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BA D8 5D" + } + + [Fact] + public void Test2() + { + var bytes = "5B 00 00 00 92 00 00 06 82 94 00 01 33 EF B8 01 00 00 00 00 00 27 0F D4 C1 41 31 32 33 34 35 00 00 00 00 00 00 00 00 00 00 00 00 00 02 94 01 00 00 00 5C 01 00 02 00 00 00 00 5A 01 AC 3F 40 12 3F FA A1 00 00 00 00 5A 01 AC 4D 50 03 73 6D 61 6C 6C 63 68 69 00 00 00 00 00 00 00 00 31 32 33 34 35 36 37 38 39 30 31 00 00 00 00 00 00 00 00 00 31 32 33 34 35 36 40 71 71 2E 63 6F 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BA D8 5D".ToHexBytes(); + JT809Package jT809Package = JT809Serializer.Deserialize(bytes); + + Assert.Equal((uint)146, jT809Package.Header.MsgLength); + Assert.Equal((uint)1666, jT809Package.Header.MsgSN); + Assert.Equal((uint)9999, jT809Package.Header.EncryptKey); + Assert.Equal(JT809Header_Encrypt.None, jT809Package.Header.EncryptFlag); + Assert.Equal((uint)20180920, jT809Package.Header.MsgGNSSCENTERID); + Assert.Equal(JT809Enums.JT809BusinessType.DOWN_WARN_MSG, jT809Package.Header.MsgID); + Assert.Equal(new JT809Header_Version().ToString(), jT809Package.Header.Version.ToString()); + + JT809_0x9400 jT809_0X400 = (JT809_0x9400)jT809Package.Bodies; + Assert.Equal("粤A12345", jT809_0X400.VehicleNo); + Assert.Equal(JT809Enums.JT809VehicleColorType.黄色, jT809_0X400.VehicleColor); + Assert.Equal(JT809Enums.JT809SubBusinessType.DOWN_WARN_MSG_URGE_TODO_REQ, jT809_0X400.SubBusinessType); + Assert.Equal((uint)92, jT809_0X400.DataLength); + + JT809_0x9400_0x9401 jT809_0x9400_0x9401 = (JT809_0x9400_0x9401)jT809_0X400.JT809SubBodies; + Assert.Equal(JT809WarnSrc.车载终端, jT809_0x9400_0x9401.WarnSrc); + Assert.Equal(JT809WarnType.疲劳驾驶报警, jT809_0x9400_0x9401.WarnType); + Assert.Equal(DateTime.Parse("2018-09-27 10:24:00"), jT809_0x9400_0x9401.WarnTime); + Assert.Equal("123FFAA1", jT809_0x9400_0x9401.SupervisionID); + Assert.Equal(DateTime.Parse("2018-09-27 11:24:00"), jT809_0x9400_0x9401.SupervisionEndTime); + Assert.Equal(3, jT809_0x9400_0x9401.SupervisionLevel); + Assert.Equal("smallchi", jT809_0x9400_0x9401.Supervisor); + Assert.Equal("12345678901", jT809_0x9400_0x9401.SupervisorTel); + Assert.Equal("123456@qq.com", jT809_0x9400_0x9401.SupervisorEmail); + } + } +}