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.

42 lines
1.6 KiB

  1. using JT808.Protocol.Extensions.JTActiveSafety.MessageBody;
  2. using JT808.Protocol.MessageBody;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. using Xunit;
  8. namespace JT808.Protocol.Extensions.JTActiveSafety.Test
  9. {
  10. public class JT808_JTActiveSafety_0x8900_Test
  11. {
  12. JT808Serializer JT808Serializer;
  13. public JT808_JTActiveSafety_0x8900_Test()
  14. {
  15. ServiceCollection serviceDescriptors = new ServiceCollection();
  16. serviceDescriptors.AddJT808Configure()
  17. .AddJTActiveSafetyConfigure();
  18. IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
  19. JT808Serializer = new JT808Serializer(jT808Config);
  20. }
  21. [Fact]
  22. public void Serializer()
  23. {
  24. JT808_0x8900_0xF7 jT808UploadLocationRequest = new JT808_0x8900_0xF7
  25. {
  26. USBCount=2,
  27. MultipleUSB=new List<byte> {1,2 }
  28. };
  29. var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
  30. Assert.Equal("020102", hex);
  31. }
  32. [Fact]
  33. public void Deserialize()
  34. {
  35. var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x8900_0xF7>("020102".ToHexBytes());
  36. Assert.Equal(2, jT808UploadLocationRequest.USBCount);
  37. Assert.Equal(new List<byte> { 1, 2 }.ToArray().ToHexString(), jT808UploadLocationRequest.MultipleUSB.ToArray().ToHexString());
  38. }
  39. }
  40. }