Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

65 rindas
2.5 KiB

  1. using JT808.Protocol.Extensions;
  2. using JT808.Protocol.Interfaces;
  3. using JT808.Protocol.Internal;
  4. using JT808.Protocol.MessageBody;
  5. using JT808.Protocol.Test.JT808_0x0900_BodiesImpl;
  6. using System.Reflection;
  7. using Xunit;
  8. namespace JT808.Protocol.Test.MessageBody
  9. {
  10. public class JT808_0x0900Test
  11. {
  12. JT808Serializer JT808Serializer;
  13. public JT808_0x0900Test()
  14. {
  15. IJT808Config jT808Config = new DefaultGlobalConfig();
  16. jT808Config.FormatterFactory.SetMap<JT808_0x0900_0x83>();
  17. jT808Config.JT808_0x0900_Custom_Factory.SetMap<JT808_0x0900_0x83>();
  18. JT808Serializer = new JT808Serializer(jT808Config);
  19. }
  20. [Fact]
  21. public void Test1()
  22. {
  23. JT808Package jT808_0X0900 = new JT808Package
  24. {
  25. Header = new JT808Header
  26. {
  27. MsgId = Enums.JT808MsgId.数据上行透传.ToUInt16Value(),
  28. ManualMsgNum = 10,
  29. TerminalPhoneNo = "123456789",
  30. },
  31. Bodies = new JT808_0x0900
  32. {
  33. JT808_0x0900_BodyBase = new JT808_0x0900_0x83() { PassthroughContent = "smallchi" },
  34. PassthroughType = 0x83
  35. }
  36. };
  37. var hex = JT808Serializer.Serialize(jT808_0X0900).ToHexString();
  38. Assert.Equal("7E09000009000123456789000A83736D616C6C6368691D7E", hex);
  39. }
  40. [Fact]
  41. public void Test1_1()
  42. {
  43. byte[] bytes = "7E 09 00 00 09 00 01 23 45 67 89 00 0A 83 73 6D 61 6C 6C 63 68 69 1D 7E".ToHexBytes();
  44. JT808Package jT808_0X0900 = JT808Serializer.Deserialize(bytes);
  45. Assert.Equal(Enums.JT808MsgId.数据上行透传.ToUInt16Value(), jT808_0X0900.Header.MsgId);
  46. Assert.Equal(10, jT808_0X0900.Header.MsgNum);
  47. Assert.Equal("123456789", jT808_0X0900.Header.TerminalPhoneNo);
  48. JT808_0x0900 JT808Bodies = (JT808_0x0900)jT808_0X0900.Bodies;
  49. JT808_0x0900_0x83 jT808_0x0900_0x83 = (JT808_0x0900_0x83)JT808Bodies.JT808_0x0900_BodyBase;
  50. Assert.Equal("smallchi", jT808_0x0900_0x83.PassthroughContent);
  51. Assert.Equal(0x83, JT808Bodies.PassthroughType);
  52. }
  53. [Fact]
  54. public void Test1_3()
  55. {
  56. byte[] bytes = "7E 09 00 00 09 00 01 23 45 67 89 00 0A 83 73 6D 61 6C 6C 63 68 69 1D 7E".ToHexBytes();
  57. string json = JT808Serializer.Analyze(bytes);
  58. }
  59. }
  60. }