選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

88 行
3.4 KiB

  1. using JT808.Protocol.Extensions;
  2. using JT808.Protocol.MessageBody;
  3. using Xunit;
  4. namespace JT808.Protocol.Test.MessageBody
  5. {
  6. public class JT808_0x8300Test
  7. {
  8. JT808Serializer JT808Serializer = new JT808Serializer();
  9. [Fact]
  10. public void Test1()
  11. {
  12. //"7E 83 00 00 0D 01 23 45 67 89 00 00 01 05 73 6D 61 6C 6C 63 68 69 20 35 31 38 02 7E"
  13. JT808Package jT808Package = new JT808Package
  14. {
  15. Header = new JT808Header
  16. {
  17. MsgId = Enums.JT808MsgId._0x8300.ToUInt16Value(),
  18. ManualMsgNum = 1,
  19. TerminalPhoneNo = "012345678900",
  20. }
  21. };
  22. JT808_0x8300 jT808TextSend = new JT808_0x8300
  23. {
  24. TextInfo = "smallchi 518",
  25. TextFlag = 5
  26. };
  27. jT808Package.Bodies = jT808TextSend;
  28. string hex = JT808Serializer.Serialize(jT808Package).ToHexString();
  29. Assert.Equal("7E8300000D012345678900000105736D616C6C63686920353138027E", hex);
  30. }
  31. [Fact]
  32. public void Test1_2()
  33. {
  34. byte[] bytes = "7E 83 00 00 0D 01 23 45 67 89 00 00 01 05 73 6D 61 6C 6C 63 68 69 20 35 31 38 02 7E".ToHexBytes();
  35. JT808Package jT808Package = JT808Serializer.Deserialize<JT808Package>(bytes);
  36. JT808_0x8300 jT808TextSend = (JT808_0x8300)jT808Package.Bodies;
  37. Assert.Equal("smallchi 518", jT808TextSend.TextInfo);
  38. Assert.Equal(5, jT808TextSend.TextFlag);
  39. }
  40. [Fact]
  41. public void Test_2019_1()
  42. {
  43. //"7E 83 00 00 0D 01 23 45 67 89 00 00 01 05 73 6D 61 6C 6C 63 68 69 20 35 31 38 02 7E"
  44. JT808HeaderMessageBodyProperty jT808HeaderMessageBodyProperty = new JT808HeaderMessageBodyProperty(true);
  45. JT808Package jT808Package = new JT808Package
  46. {
  47. Header = new JT808Header
  48. {
  49. MessageBodyProperty = jT808HeaderMessageBodyProperty,
  50. MsgId = Enums.JT808MsgId._0x8300.ToUInt16Value(),
  51. ManualMsgNum = 1,
  52. TerminalPhoneNo = "012345678900",
  53. }
  54. };
  55. JT808_0x8300 jT808TextSend = new JT808_0x8300
  56. {
  57. TextType=1,
  58. TextInfo = "smallchi 518",
  59. TextFlag = 5
  60. };
  61. jT808Package.Bodies = jT808TextSend;
  62. string hex = JT808Serializer.Serialize(jT808Package).ToHexString();
  63. Assert.Equal("7E8300400E010000000001234567890000010501736D616C6C63686920353138417E", hex);
  64. }
  65. [Fact]
  66. public void Test_2019_2()
  67. {
  68. byte[] bytes = "7E8300400E010000000001234567890000010501736D616C6C63686920353138417E".ToHexBytes();
  69. JT808Package jT808Package = JT808Serializer.Deserialize(bytes);
  70. JT808_0x8300 jT808TextSend = (JT808_0x8300)jT808Package.Bodies;
  71. Assert.Equal("smallchi 518", jT808TextSend.TextInfo);
  72. Assert.Equal(5, jT808TextSend.TextFlag);
  73. Assert.Equal(1, jT808TextSend.TextType);
  74. }
  75. [Fact]
  76. public void Test_2019_3()
  77. {
  78. byte[] bytes = "7E8300400E010000000001234567890000010501736D616C6C63686920353138417E".ToHexBytes();
  79. string json = JT808Serializer.Analyze(bytes);
  80. }
  81. }
  82. }