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.

66 lines
2.5 KiB

  1. using JT808.Protocol.Extensions.JT1078.MessageBody;
  2. using JT808.Protocol.Interfaces;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using Microsoft.Extensions.Logging;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Text;
  8. using Xunit;
  9. namespace JT808.Protocol.Extensions.JT1078.Test
  10. {
  11. public class JT808_0x1003Test
  12. {
  13. JT808Serializer JT808Serializer;
  14. public JT808_0x1003Test()
  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_0x1003 jT808_0x1003 = new JT808_0x1003()
  28. {
  29. AudioFrameLength = 1,
  30. EnterAudioChannelsNumber = 2,
  31. EnterAudioEncoding = 3,
  32. EnterAudioSampleDigits = 4,
  33. EnterAudioSampleRate = 5,
  34. IsSupportedAudioOutput = 1,
  35. VideoEncoding = 6,
  36. TerminalSupportedMaxNumberOfAudioPhysicalChannels = 7,
  37. TerminalSupportedMaxNumberOfVideoPhysicalChannels = 8
  38. };
  39. var hex = JT808Serializer.Serialize(jT808_0x1003).ToHexString();
  40. Assert.Equal("03020504000101060708", hex);
  41. }
  42. [Fact]
  43. public void Test2()
  44. {
  45. JT808_0x1003 jT808_0x1003 = JT808Serializer.Deserialize<JT808_0x1003>("03020504000101060708".ToHexBytes());
  46. Assert.Equal(1,jT808_0x1003.AudioFrameLength);
  47. Assert.Equal(2, jT808_0x1003.EnterAudioChannelsNumber);
  48. Assert.Equal(3, jT808_0x1003.EnterAudioEncoding);
  49. Assert.Equal(4, jT808_0x1003.EnterAudioSampleDigits);
  50. Assert.Equal(5, jT808_0x1003.EnterAudioSampleRate);
  51. Assert.Equal(1, jT808_0x1003.IsSupportedAudioOutput);
  52. Assert.Equal(6, jT808_0x1003.VideoEncoding);
  53. Assert.Equal(7, jT808_0x1003.TerminalSupportedMaxNumberOfAudioPhysicalChannels);
  54. Assert.Equal(8, jT808_0x1003.TerminalSupportedMaxNumberOfVideoPhysicalChannels);
  55. }
  56. [Fact]
  57. public void Test3()
  58. {
  59. var json = JT808Serializer.Analyze<JT808_0x1003>("03020504000101060708".ToHexBytes());
  60. }
  61. }
  62. }