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.

44 line
1.6 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_0x8300Test
  7. {
  8. JT808Serializer JT808Serializer = new JT808Serializer();
  9. [Fact]
  10. public void Test1()
  11. {
  12. //"7E 83 00 00 0D 01 23 45 67 89 00 00 01 05 73 6D 61 6C 6C 63 68 69 20 35 31 38 02 7E"
  13. JT808Package jT808Package = new JT808Package
  14. {
  15. Header = new JT808Header
  16. {
  17. MsgId = Enums.JT808MsgId.文本信息下发.ToUInt16Value(),
  18. MsgNum = 1,
  19. TerminalPhoneNo = "012345678900",
  20. }
  21. };
  22. JT808_0x8300 jT808TextSend = new JT808_0x8300
  23. {
  24. TextInfo = "smallchi 518",
  25. TextFlag = 5
  26. };
  27. jT808Package.Bodies = jT808TextSend;
  28. string hex = JT808Serializer.Serialize(jT808Package).ToHexString();
  29. Assert.Equal("7E8300000D012345678900000105736D616C6C63686920353138027E", hex);
  30. }
  31. [Fact]
  32. public void Test1_2()
  33. {
  34. byte[] bytes = "7E 83 00 00 0D 01 23 45 67 89 00 00 01 05 73 6D 61 6C 6C 63 68 69 20 35 31 38 02 7E".ToHexBytes();
  35. JT808Package jT808Package = JT808Serializer.Deserialize<JT808Package>(bytes);
  36. JT808_0x8300 jT808TextSend = (JT808_0x8300)jT808Package.Bodies;
  37. Assert.Equal("smallchi 518", jT808TextSend.TextInfo);
  38. Assert.Equal(5, jT808TextSend.TextFlag);
  39. }
  40. }
  41. }