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.

47 lines
1.9 KiB

  1. using JT809.Protocol;
  2. using JT809.Protocol.Extensions;
  3. using JT809.Protocol.MessageBody;
  4. using JT809.Protocol.Exceptions;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Text;
  8. using Xunit;
  9. using JT809.Protocol.SubMessageBody;
  10. using JT809.Protocol.Enums;
  11. namespace JT809.Protocol.Test.JT809MessageBody
  12. {
  13. public class JT809_0x1300Test
  14. {
  15. [Fact]
  16. public void Test1()
  17. {
  18. JT809_0x1300 jT809Bodies = new JT809_0x1300();
  19. jT809Bodies.SubBusinessType = JT809SubBusinessType.平台查岗应答;
  20. jT809Bodies.SubBodies = new JT809_0x1300_0x1301
  21. {
  22. ObjectID="111",
  23. InfoContent= "22ha22",
  24. InfoID= 1234,
  25. ObjectType= JT809_0x1301_ObjectType.当前连接的下级平台
  26. };
  27. var hex = JT809Serializer.Serialize(jT809Bodies).ToHexString();
  28. //"13 01 00 00 00 1B 01 31 31 31 00 00 00 00 00 00 00 00 00 00 00 04 D2 00 00 00 06 32 32 68 61 32 32"
  29. Assert.Equal("13010000001B01313131000000000000000000000004D200000006323268613232", hex);
  30. }
  31. [Fact]
  32. public void Test2()
  33. {
  34. var bytes = "13 01 00 00 00 1B 01 31 31 31 00 00 00 00 00 00 00 00 00 00 00 04 D2 00 00 00 06 32 32 68 61 32 32".ToHexBytes();
  35. JT809_0x1300 jT809Bodies = JT809Serializer.Deserialize<JT809_0x1300>(bytes);
  36. Assert.Equal(JT809SubBusinessType.平台查岗应答, jT809Bodies.SubBusinessType);
  37. JT809_0x1300_0x1301 jT809SubBodies = (JT809_0x1300_0x1301)jT809Bodies.SubBodies;
  38. Assert.Equal("111", jT809SubBodies.ObjectID);
  39. Assert.Equal("22ha22", jT809SubBodies.InfoContent);
  40. Assert.Equal((uint)1234, jT809SubBodies.InfoID);
  41. Assert.Equal(JT809_0x1301_ObjectType.当前连接的下级平台, jT809SubBodies.ObjectType);
  42. }
  43. }
  44. }