選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

51 行
1.9 KiB

  1. using JT808.Protocol.Extensions.YueBiao.MessageBody;
  2. using JT808.Protocol.Extensions.YueBiao.Metadata;
  3. using JT808.Protocol.MessageBody;
  4. using Microsoft.Extensions.DependencyInjection;
  5. using System;
  6. using System.Collections.Generic;
  7. using Xunit;
  8. namespace JT808.Protocol.Extensions.YueBiao.Test
  9. {
  10. public class JT808_0x1211_Test
  11. {
  12. JT808Serializer JT808Serializer;
  13. public JT808_0x1211_Test()
  14. {
  15. ServiceCollection serviceDescriptors = new ServiceCollection();
  16. serviceDescriptors.AddJT808Configure()
  17. .AddYueBiaoConfigure();
  18. IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
  19. JT808Serializer = new JT808Serializer(jT808Config);
  20. }
  21. [Fact]
  22. public void Serializer()
  23. {
  24. JT808_0x1211 jT808UploadLocationRequest = new JT808_0x1211
  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_0x1211>("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. [Fact]
  43. public void Json()
  44. {
  45. var json = JT808Serializer.Analyze<JT808_0x1211>("0846696C654E616D650200000001".ToHexBytes());
  46. }
  47. }
  48. }