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.

65 lines
2.4 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using Xunit;
  5. using JT809.Protocol;
  6. using JT809.Protocol.Extensions;
  7. using JT809.Protocol.MessageBody;
  8. using JT809.Protocol.Exceptions;
  9. using JT809.Protocol.SubMessageBody;
  10. using JT809.Protocol.Internal;
  11. using JT809.Protocol.Enums;
  12. namespace JT809.Protocol.Test.JT809SubMessageBody
  13. {
  14. public class JT809_0x1200_0x120BTest
  15. {
  16. private JT809Serializer JT809Serializer = new JT809Serializer();
  17. private JT809Serializer JT809_2019_Serializer = new JT809Serializer(new DefaultGlobalConfig() { Version = JT809Version.JTT2019 });
  18. [Fact]
  19. public void Test1()
  20. {
  21. JT809_0x1200_0x120B jT809_0X1200_0X120B = new JT809_0x1200_0x120B
  22. {
  23. EwaybillInfo="asd123456asd"
  24. };
  25. var hex = JT809Serializer.Serialize(jT809_0X1200_0X120B).ToHexString();
  26. //"00 00 00 0C 61 73 64 31 32 33 34 35 36 61 73 64"
  27. Assert.Equal("0000000C617364313233343536617364", hex);
  28. }
  29. [Fact]
  30. public void Test2()
  31. {
  32. var bytes = "00 00 00 0C 61 73 64 31 32 33 34 35 36 61 73 64".ToHexBytes();
  33. JT809_0x1200_0x120B jT809_0X1200_0X120B = JT809Serializer.Deserialize<JT809_0x1200_0x120B>(bytes);
  34. Assert.Equal("asd123456asd", jT809_0X1200_0X120B.EwaybillInfo);
  35. Assert.Equal((uint)12, jT809_0X1200_0X120B.EwaybillLength);
  36. }
  37. [Fact]
  38. public void Test_2019_1()
  39. {
  40. JT809_0x1200_0x120B jT809_0X1200_0X120B = new JT809_0x1200_0x120B
  41. {
  42. EwaybillInfo = "asd123456asd",
  43. SourceDataType=0x02,
  44. SourceMsgSn=1
  45. };
  46. var hex = JT809_2019_Serializer.Serialize(jT809_0X1200_0X120B).ToHexString();
  47. Assert.Equal("0002000000010000000C617364313233343536617364", hex);
  48. }
  49. [Fact]
  50. public void Test_2019_2()
  51. {
  52. var bytes = "0002000000010000000C617364313233343536617364".ToHexBytes();
  53. JT809_0x1200_0x120B jT809_0X1200_0X120B = JT809_2019_Serializer.Deserialize<JT809_0x1200_0x120B>(bytes);
  54. Assert.Equal("asd123456asd", jT809_0X1200_0X120B.EwaybillInfo);
  55. Assert.Equal((uint)12, jT809_0X1200_0X120B.EwaybillLength);
  56. Assert.Equal(0x02, jT809_0X1200_0X120B.SourceDataType);
  57. Assert.Equal(1u, jT809_0X1200_0X120B.SourceMsgSn);
  58. }
  59. }
  60. }