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.

76 rivejä
3.1 KiB

  1. using JT808.Protocol.Enums;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using Xunit;
  6. namespace JT808.Protocol.Test
  7. {
  8. public class JT808HeaderMessageBodyPropertyTest
  9. {
  10. [Fact]
  11. public void Test1()
  12. {
  13. JT808HeaderMessageBodyProperty jT808HeaderMessageBodyProperty = new JT808HeaderMessageBodyProperty();
  14. jT808HeaderMessageBodyProperty.DataLength = 255;
  15. jT808HeaderMessageBodyProperty.IsPackage = true;
  16. jT808HeaderMessageBodyProperty.Encrypt = JT808EncryptMethod.RSA;
  17. var result = jT808HeaderMessageBodyProperty.Wrap();
  18. Assert.Equal(9471, result);
  19. }
  20. [Fact]
  21. public void Test2()
  22. {
  23. JT808HeaderMessageBodyProperty jT808HeaderMessageBodyProperty = new JT808HeaderMessageBodyProperty(9471);
  24. Assert.Equal(255, jT808HeaderMessageBodyProperty.DataLength);
  25. Assert.True(jT808HeaderMessageBodyProperty.IsPackage);
  26. Assert.Equal(JT808EncryptMethod.RSA, jT808HeaderMessageBodyProperty.Encrypt);
  27. }
  28. [Fact]
  29. public void Test2019_1()
  30. {
  31. //01 1 001 0011111111‬
  32. JT808HeaderMessageBodyProperty jT808HeaderMessageBodyProperty = new JT808HeaderMessageBodyProperty();
  33. jT808HeaderMessageBodyProperty.DataLength = 255;
  34. jT808HeaderMessageBodyProperty.IsPackage = true;
  35. jT808HeaderMessageBodyProperty.Encrypt = JT808EncryptMethod.RSA;
  36. jT808HeaderMessageBodyProperty.VersionFlag = true;
  37. var result = jT808HeaderMessageBodyProperty.Wrap();
  38. Assert.Equal(25855, result);
  39. }
  40. [Fact]
  41. public void Test2019_2()
  42. {
  43. JT808HeaderMessageBodyProperty jT808HeaderMessageBodyProperty = new JT808HeaderMessageBodyProperty(25855);
  44. Assert.Equal(255, jT808HeaderMessageBodyProperty.DataLength);
  45. Assert.True(jT808HeaderMessageBodyProperty.IsPackage);
  46. Assert.True(jT808HeaderMessageBodyProperty.VersionFlag);
  47. Assert.Equal(JT808EncryptMethod.RSA, jT808HeaderMessageBodyProperty.Encrypt);
  48. }
  49. [Fact]
  50. public void Test2019_3()
  51. {
  52. JT808HeaderMessageBodyProperty jT808HeaderMessageBodyProperty = new JT808HeaderMessageBodyProperty();
  53. jT808HeaderMessageBodyProperty.DataLength = 255;
  54. jT808HeaderMessageBodyProperty.IsPackage = false;
  55. jT808HeaderMessageBodyProperty.Encrypt = JT808EncryptMethod.RSA;
  56. jT808HeaderMessageBodyProperty.VersionFlag = true;
  57. ushort result = jT808HeaderMessageBodyProperty.Wrap();
  58. Assert.Equal(17663, result);
  59. }
  60. [Fact]
  61. public void Test2019_4()
  62. {
  63. JT808HeaderMessageBodyProperty jT808HeaderMessageBodyProperty = new JT808HeaderMessageBodyProperty(17663);
  64. Assert.Equal(255, jT808HeaderMessageBodyProperty.DataLength);
  65. Assert.False(jT808HeaderMessageBodyProperty.IsPackage);
  66. Assert.True(jT808HeaderMessageBodyProperty.VersionFlag);
  67. Assert.Equal(JT808EncryptMethod.RSA, jT808HeaderMessageBodyProperty.Encrypt);
  68. }
  69. }
  70. }