using JT808.Protocol.Extensions; using JT808.Protocol.MessageBody; using Xunit; namespace JT808.Protocol.Test.MessageBody { public class JT808_0x0001Test { JT808Serializer JT808Serializer = new JT808Serializer(); [Fact] public void Test1() { JT808Package jT808Package = new JT808Package { Header = new JT808Header { MsgId = Enums.JT808MsgId._0x0001.ToUInt16Value(), ManualMsgNum = 1203, TerminalPhoneNo = "012345678900", }, Bodies = new JT808_0x0001 { ReplyMsgId = Enums.JT808MsgId._0x0002.ToUInt16Value(), ReplyMsgNum = 1000, TerminalResult = Enums.JT808TerminalResult.Success } }; //"7E 00 01 00 05 01 23 45 67 89 00 04 B3 03 E8 00 02 00 D3 7E" var hex = JT808Serializer.Serialize(jT808Package).ToHexString(); Assert.Equal("7E0001000501234567890004B303E8000200D37E", hex); } [Fact] public void Test2() { var bytes = "7E 00 01 00 05 01 23 45 67 89 00 04 B3 03 E8 00 02 00 D3 7E".ToHexBytes(); JT808Package jT808Package = JT808Serializer.Deserialize(bytes); Assert.Equal(Enums.JT808MsgId._0x0001.ToValue(), jT808Package.Header.MsgId); Assert.Equal(1203, jT808Package.Header.MsgNum); JT808_0x0001 JT808Bodies = (JT808_0x0001)jT808Package.Bodies; Assert.Equal(Enums.JT808MsgId._0x0002.ToUInt16Value(), JT808Bodies.ReplyMsgId); Assert.Equal(1000, JT808Bodies.ReplyMsgNum); Assert.Equal(Enums.JT808TerminalResult.Success, JT808Bodies.TerminalResult); } [Fact] public void Test3() { var bytes = "7E 00 01 00 05 01 23 45 67 89 00 04 B3 03 E8 00 02 00 D3 7E".ToHexBytes(); string json = JT808Serializer.Analyze(bytes); //{"[7E]\u5F00\u59CB":126,"[0001]\u6D88\u606FId":1,"\u6D88\u606F\u4F53\u5C5E\u6027\u5BF9\u8C61":{"[0000000000000101]\u6D88\u606F\u4F53\u5C5E\u6027":5,"[0]\u4FDD\u7559":0,"[0]\u4FDD\u7559":0,"[0]\u662F\u5426\u5206\u5305":false,"[000]\u6570\u636E\u52A0\u5BC6":"None","[000000101]\u6D88\u606F\u4F53\u957F\u5EA6":5},"[12345678900]\u7EC8\u7AEF\u624B\u673A\u53F7":"12345678900","[04B3]\u6D88\u606F\u6D41\u6C34\u53F7":1203,"\u6570\u636E\u4F53\u5BF9\u8C61":{"\u7EC8\u7AEF\u901A\u7528\u5E94\u7B54":"03E8000200","[03E8]\u5E94\u7B54\u6D41\u6C34\u53F7":1000,"[0002]\u5E94\u7B54\u6D88\u606FId":2,"[0]\u7ED3\u679C":"Success"},"[D3]\u6821\u9A8C\u7801":211,"[D3]\u7ED3\u675F":211} } } }