Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

68 rindas
2.7 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_0x9212_Test
  11. {
  12. JT808Serializer JT808Serializer;
  13. public JT808_0x9212_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_0x9212 jT808UploadLocationRequest = new JT808_0x9212
  25. {
  26. DataPackageCount = 2,
  27. DataPackages = new List<Metadata.DataPackageProperty> {
  28. new Metadata.DataPackageProperty{
  29. Length=10,
  30. Offset=20
  31. },
  32. new Metadata.DataPackageProperty{
  33. Length=30,
  34. Offset=40
  35. }
  36. },
  37. FileName = "FileName",
  38. FileType = 1,
  39. UploadResult = 2
  40. };
  41. var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
  42. Assert.Equal("0846696C654E616D65010202000000140000000A000000280000001E", hex);
  43. }
  44. [Fact]
  45. public void Deserialize()
  46. {
  47. var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x9212>("0846696C654E616D65010202000000140000000A000000280000001E".ToHexBytes());
  48. Assert.Equal(2, jT808UploadLocationRequest.DataPackageCount);
  49. Assert.Equal("FileName", jT808UploadLocationRequest.FileName);
  50. Assert.Equal(1, jT808UploadLocationRequest.FileType);
  51. Assert.Equal(2, jT808UploadLocationRequest.UploadResult);
  52. Assert.Equal(10u, jT808UploadLocationRequest.DataPackages[0].Length);
  53. Assert.Equal(20u, jT808UploadLocationRequest.DataPackages[0].Offset);
  54. Assert.Equal(30u, jT808UploadLocationRequest.DataPackages[1].Length);
  55. Assert.Equal(40u, jT808UploadLocationRequest.DataPackages[1].Offset);
  56. }
  57. [Fact]
  58. public void Json()
  59. {
  60. var json = JT808Serializer.Analyze<JT808_0x9212>("0846696C654E616D65010202000000140000000A000000280000001E".ToHexBytes());
  61. }
  62. }
  63. }