您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

74 行
2.6 KiB

  1. using JT808.Protocol.Extensions.JT1078.MessageBody;
  2. using JT808.Protocol.Interfaces;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. using Xunit;
  8. using Microsoft.Extensions.Logging;
  9. namespace JT808.Protocol.Extensions.JT1078.Test
  10. {
  11. public class JT808_0x9102Test
  12. {
  13. JT808Serializer JT808Serializer;
  14. public JT808_0x9102Test()
  15. {
  16. IServiceCollection serviceDescriptors1 = new ServiceCollection();
  17. serviceDescriptors1
  18. .AddJT808Configure()
  19. .AddJT1078Configure();
  20. var ServiceProvider1 = serviceDescriptors1.BuildServiceProvider();
  21. var defaultConfig = ServiceProvider1.GetRequiredService<IJT808Config>();
  22. JT808Serializer = defaultConfig.GetSerializer();
  23. }
  24. [Fact]
  25. public void Test1()
  26. {
  27. JT808_0x9102 jT808_0X9102 = new JT808_0x9102();
  28. jT808_0X9102.ChannelNo = 1;
  29. jT808_0X9102.ControlCmd = 1;
  30. jT808_0X9102.CloseAVData = 0;
  31. jT808_0X9102.StreamType = 0;
  32. var hex = JT808Serializer.Serialize(jT808_0X9102).ToHexString();
  33. Assert.Equal("01010000", hex);
  34. }
  35. [Fact]
  36. public void Test2()
  37. {
  38. JT808_0x9102 jT808_0X9102 = JT808Serializer.Deserialize<JT808_0x9102>("01010000".ToHexBytes());
  39. Assert.Equal(1, jT808_0X9102.ChannelNo);
  40. Assert.Equal(1, jT808_0X9102.ControlCmd);
  41. Assert.Equal(0, jT808_0X9102.CloseAVData);
  42. Assert.Equal(0, jT808_0X9102.StreamType);
  43. }
  44. [Fact]
  45. public void Test3()
  46. {
  47. JT808Package jT808Package = new JT808Package();
  48. JT808Header header = new JT808Header();
  49. header.MsgId = 0x9102;
  50. header.ManualMsgNum = 1;
  51. header.TerminalPhoneNo = "12345679810";
  52. jT808Package.Header = header;
  53. JT808_0x9102 jT808_0X9102 = new JT808_0x9102();
  54. jT808_0X9102.ChannelNo = 1;
  55. jT808_0X9102.ControlCmd = 1;
  56. jT808_0X9102.CloseAVData = 0;
  57. jT808_0X9102.StreamType = 0;
  58. jT808Package.Bodies = jT808_0X9102;
  59. var hex = JT808Serializer.Serialize(jT808Package).ToHexString();
  60. //7E910200040123456798100001010100001E7E
  61. Assert.Equal("7E910200040123456798100001010100001E7E", hex);
  62. }
  63. [Fact]
  64. public void Test4()
  65. {
  66. var jT808_0rX9102 = JT808Serializer.Analyze<JT808_0x9102>("01010000".ToHexBytes());
  67. }
  68. }
  69. }