Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

102 linhas
6.9 KiB

  1. using JT809.Protocol.Extensions.JT1078.MessageBody;
  2. using Microsoft.Extensions.DependencyInjection;
  3. using Newtonsoft.Json;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. using Xunit;
  8. namespace JT809.Protocol.Extensions.JT1078.Test
  9. {
  10. public class JT809_JT1078_AnalyzeTest
  11. {
  12. JT809Serializer JT809Serializer;
  13. public JT809_JT1078_AnalyzeTest()
  14. {
  15. IServiceCollection serviceDescriptors1 = new ServiceCollection();
  16. serviceDescriptors1
  17. .AddJT809Configure()
  18. .AddJT1078Configure();
  19. var ServiceProvider1 = serviceDescriptors1.BuildServiceProvider();
  20. var defaultConfig = ServiceProvider1.GetRequiredService<IJT809Config>();
  21. JT809Serializer = defaultConfig.GetSerializer();
  22. Newtonsoft.Json.JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() =>
  23. {
  24. //日期类型默认格式化处理
  25. return new Newtonsoft.Json.JsonSerializerSettings
  26. {
  27. DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat,
  28. DateFormatString = "yyyy-MM-dd HH:mm:ss"
  29. };
  30. });
  31. }
  32. [Fact]
  33. public void Analyze()
  34. {
  35. var hex = "D4C1423132333435000000000000000000000000000217010000008B30313233343536373839303031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323330313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233".ToHexBytes();
  36. var json = JT809Serializer.Analyze<JT809_JT1078_0x1700>(hex);
  37. hex = "D4C14231323334350000000000000000000000000002170200000000".ToHexBytes();
  38. json = JT809Serializer.Analyze<JT809_JT1078_0x1700>(hex);
  39. hex = "D4C142313233343500000000000000000000000000021801000000230100000000000000000000000000000000000000000000003132372E302E302E311F90".ToHexBytes();
  40. json = JT809Serializer.Analyze<JT809_JT1078_0x1800>(hex);
  41. hex = "D4C1423132333435000000000000000000000000000218020000000101".ToHexBytes();
  42. json = JT809Serializer.Analyze<JT809_JT1078_0x1800>(hex);
  43. hex = "D4C142313233343500000000000000000000000000021901000000440000000203000000005D2BE082000000005D2D32020000000000000001020605000000041F000000005D045382000000005D05A502000000000000000B153D3300000029".ToHexBytes();
  44. json = JT809Serializer.Analyze<JT809_JT1078_0x1900>(hex);
  45. hex = "D4C14231323334350000000000000000000000000002190200000045010000000203000000005D2BE082000000005D2D32020000000000000001020605000000041F000000005D045382000000005D05A502000000000000000B153D3300000029".ToHexBytes();
  46. json = JT809Serializer.Analyze<JT809_JT1078_0x1900>(hex);
  47. hex = "D4C142313233343500000000000000000000000000021A010000002300000000000000000000000000000000000000000000003132372E302E302E311F9001".ToHexBytes();
  48. json = JT809Serializer.Analyze<JT809_JT1078_0x1A00>(hex);
  49. hex = "D4C142313233343500000000000000000000000000021A020000000101".ToHexBytes();
  50. json = JT809Serializer.Analyze<JT809_JT1078_0x1A00>(hex);
  51. hex = "D4C142313233343500000000000000000000000000021B0100000003010002".ToHexBytes();
  52. json = JT809Serializer.Analyze<JT809_JT1078_0x1B00>(hex);
  53. hex = "D4C142313233343500000000000000000000000000021B020000013401000200000000000000000000000000000000000000000000003132372E302E302E311F900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000746B0000000000000000000000000000746B313233343536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000443A2F2F3132332F343536".ToHexBytes();
  54. json = JT809Serializer.Analyze<JT809_JT1078_0x1B00>(hex);
  55. hex = "D4C142313233343500000000000000000000000000021B030000000101".ToHexBytes();
  56. json = JT809Serializer.Analyze<JT809_JT1078_0x1B00>(hex);
  57. hex = "D4C14231323334350000000000000000000000000002970200000000".ToHexBytes();
  58. json = JT809Serializer.Analyze<JT809_JT1078_0x9700>(hex);
  59. hex = "D4C14231323334350000000000000000000000000002980100000066020130313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223".ToHexBytes();
  60. json = JT809Serializer.Analyze<JT809_JT1078_0x9800>(hex);
  61. hex = "D4C142313233343500000000000000000000000000029802000000020102".ToHexBytes();
  62. json = JT809Serializer.Analyze<JT809_JT1078_0x9800>(hex);
  63. hex = "D4C142313233343500000000000000000000000000029901000000020102".ToHexBytes();
  64. json = JT809Serializer.Analyze<JT809_JT1078_0x9900>(hex);
  65. hex = "D4C1423132333435000000000000000000000000000299020000008001000000005969798200000000596ACB02000000000000000203050430313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223".ToHexBytes();
  66. json = JT809Serializer.Analyze<JT809_JT1078_0x9900>(hex);
  67. hex = "D4C142313233343500000000000000000000000000029A01000000780201040300000000596ACB0200000000596C1C8230313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223".ToHexBytes();
  68. json = JT809Serializer.Analyze<JT809_JT1078_0x9A00>(hex);
  69. hex = "D4C142313233343500000000000000000000000000029A020000000A010100000000596C1C82".ToHexBytes();
  70. json = JT809Serializer.Analyze<JT809_JT1078_0x9A00>(hex);
  71. hex = "D4C142313233343500000000000000000000000000029B01000000840200000000596ACB0200000000596C1C8200000000000000050104030000000630313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223".ToHexBytes();
  72. json = JT809Serializer.Analyze<JT809_JT1078_0x9B00>(hex);
  73. hex = "D4C142313233343500000000000000000000000000029B0200000003010002".ToHexBytes();
  74. json = JT809Serializer.Analyze<JT809_JT1078_0x9B00>(hex);
  75. hex = "D4C142313233343500000000000000000000000000029B0300000003000201".ToHexBytes();
  76. json = JT809Serializer.Analyze<JT809_JT1078_0x9B00>(hex);
  77. }
  78. }
  79. }