You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 line
2.7 KiB

  1. using JT808.Protocol.Extensions;
  2. using JT808.Protocol.MessageBody;
  3. using Xunit;
  4. namespace JT808.Protocol.Test.MessageBody
  5. {
  6. public class JT808_0x0001Test
  7. {
  8. JT808Serializer JT808Serializer = new JT808Serializer();
  9. [Fact]
  10. public void Test1()
  11. {
  12. JT808Package jT808Package = new JT808Package
  13. {
  14. Header = new JT808Header
  15. {
  16. MsgId = Enums.JT808MsgId._0x0001.ToUInt16Value(),
  17. ManualMsgNum = 1203,
  18. TerminalPhoneNo = "012345678900",
  19. },
  20. Bodies = new JT808_0x0001
  21. {
  22. ReplyMsgId = Enums.JT808MsgId._0x0002.ToUInt16Value(),
  23. ReplyMsgNum = 1000,
  24. TerminalResult = Enums.JT808TerminalResult.Success
  25. }
  26. };
  27. //"7E 00 01 00 05 01 23 45 67 89 00 04 B3 03 E8 00 02 00 D3 7E"
  28. var hex = JT808Serializer.Serialize(jT808Package).ToHexString();
  29. Assert.Equal("7E0001000501234567890004B303E8000200D37E", hex);
  30. }
  31. [Fact]
  32. public void Test2()
  33. {
  34. var bytes = "7E 00 01 00 05 01 23 45 67 89 00 04 B3 03 E8 00 02 00 D3 7E".ToHexBytes();
  35. JT808Package jT808Package = JT808Serializer.Deserialize<JT808Package>(bytes);
  36. Assert.Equal(Enums.JT808MsgId._0x0001.ToValue(), jT808Package.Header.MsgId);
  37. Assert.Equal(1203, jT808Package.Header.MsgNum);
  38. JT808_0x0001 JT808Bodies = (JT808_0x0001)jT808Package.Bodies;
  39. Assert.Equal(Enums.JT808MsgId._0x0002.ToUInt16Value(), JT808Bodies.ReplyMsgId);
  40. Assert.Equal(1000, JT808Bodies.ReplyMsgNum);
  41. Assert.Equal(Enums.JT808TerminalResult.Success, JT808Bodies.TerminalResult);
  42. }
  43. [Fact]
  44. public void Test3()
  45. {
  46. var bytes = "7E 00 01 00 05 01 23 45 67 89 00 04 B3 03 E8 00 02 00 D3 7E".ToHexBytes();
  47. string json = JT808Serializer.Analyze(bytes);
  48. //{"[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}
  49. }
  50. }
  51. }