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.

41 righe
1.8 KiB

  1. using System;
  2. using Xunit;
  3. using JTActiveSafety.Protocol;
  4. using JTActiveSafety.Protocol.Extensions;
  5. namespace JTActiveSafety.Protocol.Test
  6. {
  7. public class JTActiveSafetySerializerTest
  8. {
  9. [Fact]
  10. public void SerializeTest1()
  11. {
  12. JTActiveSafetyPackage package = new JTActiveSafetyPackage();
  13. package.FileName = "alarm.xlsx";
  14. package.Offset = 1;
  15. package.Bodies = new byte[5] { 1, 2, 3, 4, 5 };
  16. var hex = JTActiveSafetySerializer.Serialize(package).ToHexString();
  17. Assert.Equal("30 31 63 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6C 61 72 6D 2E 78 6C 73 78 00 00 00 01 00 00 00 05 01 02 03 04 05", hex);
  18. }
  19. [Fact]
  20. public void DeserializeTest1()
  21. {
  22. var data = "30 31 63 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6C 61 72 6D 2E 78 6C 73 78 00 00 00 01 00 00 00 05 01 02 03 04 05".ToHexBytes();
  23. var package = JTActiveSafetySerializer.Deserialize(data);
  24. Assert.Equal(JTActiveSafetyPackage.FH, package.FH_Flag);
  25. Assert.Equal("alarm.xlsx", package.FileName.TrimStart('\0'));
  26. Assert.Equal(1u, package.Offset);
  27. Assert.Equal(5u, package.Length);
  28. Assert.Equal(new byte[5] { 1, 2, 3, 4, 5 }, package.Bodies);
  29. }
  30. [Fact]
  31. public void AnalyzeTest1()
  32. {
  33. var data = "30 31 63 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6C 61 72 6D 2E 78 6C 73 78 00 00 00 01 00 00 00 05 01 02 03 04 05".ToHexBytes();
  34. var json = JTActiveSafetySerializer.Analyze(data);
  35. }
  36. }
  37. }