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.3 KiB

  1. using Xunit;
  2. using JT808.Protocol.MessageBody;
  3. using JT808.Protocol.Extensions;
  4. namespace JT808.Protocol.Test.MessageBody
  5. {
  6. public class JT808_0x0100Test
  7. {
  8. JT808Serializer JT808Serializer = new JT808Serializer();
  9. [Fact]
  10. public void Test1()
  11. {
  12. JT808Package jT808_0X0100 = new JT808Package
  13. {
  14. Header = new JT808Header
  15. {
  16. MsgId = Enums.JT808MsgId.终端注册.ToUInt16Value(),
  17. MsgNum = 10,
  18. TerminalPhoneNo = "123456789",
  19. },
  20. Bodies = new JT808_0x0100
  21. {
  22. AreaID = 40,
  23. CityOrCountyId = 50,
  24. MakerId = "1234",
  25. PlateColor = 1,
  26. PlateNo = "粤A12345",
  27. TerminalId = "CHI123",
  28. TerminalModel = "smallchi123"
  29. }
  30. };
  31. var hex = JT808Serializer.Serialize(jT808_0X0100).ToHexString();
  32. Assert.Equal("7E0100002D000123456789000A002800323132333430736D616C6C6368693132333030303030303030304348493132333001D4C1413132333435BA7E", hex);
  33. }
  34. [Fact]
  35. public void Test1_1()
  36. {
  37. byte[] bytes = "7E 01 00 00 2D 00 01 23 45 67 89 00 0A 00 28 00 32 31 32 33 34 30 73 6D 61 6C 6C 63 68 69 31 32 33 30 30 30 30 30 30 30 30 30 43 48 49 31 32 33 30 01 D4 C1 41 31 32 33 34 35 BA 7E".ToHexBytes();
  38. JT808Package jT808_0X0100 = JT808Serializer.Deserialize<JT808Package>(bytes);
  39. Assert.Equal(Enums.JT808MsgId.终端注册.ToUInt16Value(), jT808_0X0100.Header.MsgId);
  40. Assert.Equal(10, jT808_0X0100.Header.MsgNum);
  41. Assert.Equal("123456789", jT808_0X0100.Header.TerminalPhoneNo);
  42. JT808_0x0100 JT808Bodies = (JT808_0x0100)jT808_0X0100.Bodies;
  43. Assert.Equal(40, JT808Bodies.AreaID);
  44. Assert.Equal(50, JT808Bodies.CityOrCountyId);
  45. Assert.Equal("12340", JT808Bodies.MakerId);
  46. Assert.Equal(1, JT808Bodies.PlateColor);
  47. Assert.Equal("粤A12345", JT808Bodies.PlateNo);
  48. Assert.Equal("CHI1230", JT808Bodies.TerminalId);
  49. Assert.Equal("smallchi123000000000", JT808Bodies.TerminalModel);
  50. }
  51. }
  52. }