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.

55 rivejä
2.2 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 str = Newtonsoft.Json.JsonConvert.SerializeObject(jT808_0x1003);
  40. var hex = JT808Serializer.Serialize(jT808_0x1003).ToHexString();
  41. Assert.Equal("03020504000101060708", hex);
  42. }
  43. [Fact]
  44. public void Test2()
  45. {
  46. var str = "{\"EnterAudioEncoding\":3,\"EnterAudioChannelsNumber\":2,\"EnterAudioSampleRate\":5,\"EnterAudioSampleDigits\":4,\"AudioFrameLength\":1,\"IsSupportedAudioOutput\":1,\"VideoEncoding\":6,\"TerminalSupportedMaxNumberOfAudioPhysicalChannels\":7,\"TerminalSupportedMaxNumberOfVideoPhysicalChannels\":8,\"SkipSerialization\":false}";
  47. JT808_0x1003 jT808_0x1003 = JT808Serializer.Deserialize<JT808_0x1003>("03020504000101060708".ToHexBytes());
  48. Assert.Equal(Newtonsoft.Json.JsonConvert.SerializeObject(jT808_0x1003), str);
  49. }
  50. }
  51. }