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.

55 rindas
1.8 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.MessageBody.JT808_0X8900_BodiesImpl;
  6. using System.Reflection;
  7. using Xunit;
  8. namespace JT808.Protocol.Test.MessageBody
  9. {
  10. public class JT808_0x8900Test
  11. {
  12. JT808Serializer JT808Serializer;
  13. public JT808_0x8900Test()
  14. {
  15. IJT808Config jT808Config = new DefaultGlobalConfig();
  16. jT808Config.FormatterFactory.SetMap<JT808_0X8900_Test_BodiesImpl>();
  17. JT808Serializer = new JT808Serializer(jT808Config);
  18. }
  19. [Fact]
  20. public void Test1()
  21. {
  22. JT808_0x8900 jT808_0X8900 = new JT808_0x8900
  23. {
  24. PassthroughType = 0x0B,
  25. JT808_0X8900_BodyBase = new JT808_0X8900_Test_BodiesImpl
  26. {
  27. Id = 12345,
  28. Sex = 0x01
  29. }
  30. };
  31. string hex = JT808Serializer.Serialize(jT808_0X8900).ToHexString();
  32. Assert.Equal("0B0000303901", hex);
  33. }
  34. [Fact]
  35. public void Test2()
  36. {
  37. byte[] bytes = "0B0000303901".ToHexBytes();
  38. JT808_0x8900 jT808_0X8900 = JT808Serializer.Deserialize<JT808_0x8900>(bytes);
  39. JT808_0X8900_Test_BodiesImpl jT808_0X8900_Test_BodiesImpl = JT808Serializer.Deserialize<JT808_0X8900_Test_BodiesImpl>(jT808_0X8900.PassthroughData);
  40. Assert.Equal(0x0B, jT808_0X8900.PassthroughType);
  41. Assert.Equal((uint)12345, jT808_0X8900_Test_BodiesImpl.Id);
  42. Assert.Equal(0x01, jT808_0X8900_Test_BodiesImpl.Sex);
  43. }
  44. [Fact]
  45. public void Test3()
  46. {
  47. byte[] bytes = "0B0000303901".ToHexBytes();
  48. string json = JT808Serializer.Analyze<JT808_0x8900>(bytes);
  49. }
  50. }
  51. }