Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

45 righe
1.7 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_0x1212_Test
  11. {
  12. JT808Serializer JT808Serializer;
  13. public JT808_0x1212_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_0x1212 jT808UploadLocationRequest = new JT808_0x1212
  25. {
  26. FileName= "FileName",
  27. FileSize=1,
  28. FileType=2
  29. };
  30. var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
  31. Assert.Equal("0846696C654E616D650200000001", hex);
  32. }
  33. [Fact]
  34. public void Deserialize()
  35. {
  36. var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x1212>("0846696C654E616D650200000001".ToHexBytes());
  37. Assert.Equal("FileName", jT808UploadLocationRequest.FileName);
  38. Assert.Equal(1u, jT808UploadLocationRequest.FileSize);
  39. Assert.Equal(2, jT808UploadLocationRequest.FileType);
  40. Assert.Equal("FileName".Length, jT808UploadLocationRequest.FileNameLength);
  41. }
  42. }
  43. }