Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

51 рядки
2.0 KiB

  1. using JT809.Protocol.Extensions.JT1078.Enums;
  2. using JT809.Protocol.Extensions.JT1078.MessageBody;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using System;
  5. using System.Linq;
  6. using System.Collections.Generic;
  7. using Xunit;
  8. namespace JT809.Protocol.Extensions.JT1078.Test
  9. {
  10. public class JT809_JT1078_0x9700Test
  11. {
  12. JT809Serializer JT809Serializer;
  13. public JT809_JT1078_0x9700Test()
  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. }
  23. [Fact]
  24. public void Test1()
  25. {
  26. JT809_JT1078_0x9700 jT809_JT1078_0x9700 = new JT809_JT1078_0x9700()
  27. {
  28. VehicleNo="粤B12345",
  29. VehicleColor= Protocol.Enums.JT809VehicleColorType.黄色,
  30. SubBusinessType= (ushort)JT809_JT1078_SubBusinessType.时效口令请求应答消息,
  31. SubBodies= new JT809_JT1078_0x9700_0x9702()
  32. };
  33. var hex = JT809Serializer.Serialize(jT809_JT1078_0x9700).ToHexString();
  34. Assert.Equal("D4C14231323334350000000000000000000000000002970200000000", hex);
  35. }
  36. [Fact]
  37. public void Test2()
  38. {
  39. var jT809_JT1078_0x9700 = JT809Serializer.Deserialize<JT809_JT1078_0x9700>("D4C14231323334350000000000000000000000000002970200000000".ToHexBytes());
  40. Assert.Equal("粤B12345", jT809_JT1078_0x9700.VehicleNo);
  41. Assert.Equal(Protocol.Enums.JT809VehicleColorType.黄色, jT809_JT1078_0x9700.VehicleColor);
  42. Assert.Equal((ushort)JT809_JT1078_SubBusinessType.时效口令请求应答消息, jT809_JT1078_0x9700.SubBusinessType);
  43. }
  44. }
  45. }