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

67 行
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 Newtonsoft.Json;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Text;
  9. using Xunit;
  10. namespace JT808.Protocol.Extensions.JT1078.Test
  11. {
  12. public class JT808_0x1005Test
  13. {
  14. JT808Serializer JT808Serializer;
  15. public JT808_0x1005Test()
  16. {
  17. IServiceCollection serviceDescriptors1 = new ServiceCollection();
  18. serviceDescriptors1
  19. .AddJT808Configure()
  20. .AddJT1078Configure();
  21. var ServiceProvider1 = serviceDescriptors1.BuildServiceProvider();
  22. var defaultConfig = ServiceProvider1.GetRequiredService<IJT808Config>();
  23. JT808Serializer = defaultConfig.GetSerializer();
  24. Newtonsoft.Json.JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() =>
  25. {
  26. //日期类型默认格式化处理
  27. return new Newtonsoft.Json.JsonSerializerSettings
  28. {
  29. DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat,
  30. DateFormatString = "yyyy-MM-dd HH:mm:ss"
  31. };
  32. });
  33. }
  34. [Fact]
  35. public void Test1()
  36. {
  37. JT808_0x1005 jT808_0x1005 = new JT808_0x1005()
  38. {
  39. BeginTime=Convert.ToDateTime("2019-07-16 10:20:01"),
  40. EndTime= Convert.ToDateTime("2019-07-16 10:25:02"),
  41. GettingOffNumber=1,
  42. GettingOnNumber=1
  43. };
  44. var hex = JT808Serializer.Serialize(jT808_0x1005).ToHexString();
  45. Assert.Equal("19071610200119071610250200010001", hex);
  46. }
  47. [Fact]
  48. public void Test2()
  49. {
  50. var jT808_0x1005 = JT808Serializer.Deserialize<JT808_0x1005>("19071610200119071610250200010001".ToHexBytes());
  51. Assert.Equal(Convert.ToDateTime("2019-07-16 10:20:01"),jT808_0x1005.BeginTime);
  52. Assert.Equal(Convert.ToDateTime("2019-07-16 10:25:02"),jT808_0x1005.EndTime);
  53. Assert.Equal(1, jT808_0x1005.GettingOffNumber);
  54. Assert.Equal(1, jT808_0x1005.GettingOnNumber);
  55. }
  56. [Fact]
  57. public void Test3()
  58. {
  59. var json = JT808Serializer.Analyze<JT808_0x1005>("19071610200119071610250200010001".ToHexBytes());
  60. }
  61. }
  62. }