Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

160 wiersze
7.4 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using Xunit;
  5. using GBNewEnergy.Protocol.Extensions;
  6. using GBNewEnergy.Protocol.UpStream;
  7. using GBNewEnergy.Protocol.Enums;
  8. using GBNewEnergy.Protocol.Exceptions;
  9. using GBNewEnergy.Protocol.NEProperties;
  10. namespace GBNewEnergy.Protocol.Test
  11. {
  12. public class NEPackageTest
  13. {
  14. private readonly NEGlobalConfigs NEGlobalConfigs = new NEGlobalConfigs()
  15. {
  16. NEEncryptKey="smallchi"
  17. };
  18. #region 车辆登入
  19. [Fact]
  20. public void NELoginUpStreamConstructor4_1()
  21. {
  22. // "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F"
  23. // "12 06 08 11 09 14 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31"
  24. // "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 08 11 09 14 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 DA"
  25. INEProperties nELoginProperty = new NELoginProperty
  26. {
  27. VIN= "LGHC4V1D3HE202652",
  28. BatteryCount=1,
  29. BatteryLength=1,
  30. BatteryNos=new List<string>() { "1" },
  31. SIM= "64743066405"
  32. };
  33. NELoginUpStream nELoginUpStream = new NELoginUpStream(nELoginProperty, NEGlobalConfigs);
  34. INEProperties nEPackageProperty = new NEPackageProperty
  35. {
  36. Bodies= nELoginUpStream,
  37. MsgId = Enums.NEMsgId.login,
  38. AskId= Enums.NEAskId.cmd,
  39. VIN= "LGHC4V1D3HE202652"
  40. };
  41. NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs);
  42. string headerHex = nEPackage.Header.ToHexString();
  43. string bodiesHex = nEPackage.Bodies.Buffer.ToHexString();
  44. string packageHex = nEPackage.Buffer.ToHexString();
  45. }
  46. [Fact]
  47. public void NELoginUpStreamConstructor4_2()
  48. {
  49. // "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F"
  50. // "12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31"
  51. // "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7"
  52. byte[] header = "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F".ToHexBytes();
  53. byte[] body = "12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7".ToHexBytes();
  54. NEPackage nEPackage = new NEPackage(header, body,NEGlobalConfigs);
  55. string headerHex = nEPackage.Header.ToHexString();
  56. string bodiesHex = nEPackage.Bodies.Buffer.ToHexString();
  57. string packageHex = nEPackage.Buffer.ToHexString();
  58. }
  59. [Fact]
  60. public void NELoginUpStreamConstructor4_3()
  61. {
  62. // "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7"
  63. byte[] packageBytes = "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7".ToHexBytes();
  64. NEPackage nEPackage = new NEPackage(packageBytes, NEGlobalConfigs);
  65. string headerHex = nEPackage.Header.ToHexString();
  66. string bodiesHex = nEPackage.Bodies.Buffer.ToHexString();
  67. string packageHex = nEPackage.Buffer.ToHexString();
  68. }
  69. #endregion
  70. #region 车辆登出(依赖车辆登录的流水号所有必须先进行登录产生流水号)
  71. [Fact]
  72. public void NELogoutUpStream1_1()
  73. {
  74. try
  75. {
  76. INEProperties nELogoutProperty = new NELogoutProperty()
  77. {
  78. VIN = "LGHC4V1D3HE202652"
  79. };
  80. NELogoutUpStream nELogoutUpStream1 = new NELogoutUpStream(nELogoutProperty, NEGlobalConfigs);
  81. INEProperties nEPackageProperty1 = new NEPackageProperty
  82. {
  83. Bodies = nELogoutUpStream1,
  84. MsgId = Enums.NEMsgId.login,
  85. AskId = Enums.NEAskId.cmd,
  86. VIN = "LGHC4V1D3HE202652"
  87. };
  88. NEPackage nEPackage = new NEPackage(nEPackageProperty1, NEGlobalConfigs);
  89. string headerHex = nEPackage.Header.ToHexString();
  90. string bodiesHex = nEPackage.Bodies.Buffer.ToHexString();
  91. string packageHex = nEPackage.Buffer.ToHexString();
  92. }
  93. catch (NEException ex)
  94. {
  95. Assert.Equal(NEErrorCode.LoginSerialNoError, ex.ErrorCode);
  96. }
  97. }
  98. [Fact]
  99. public void NELogoutUpStream2_1()
  100. {
  101. INEProperties nELoginProperty = new NELoginProperty
  102. {
  103. VIN = "LGHC4V1D3HE202652",
  104. BatteryCount = 1,
  105. BatteryLength = 1,
  106. BatteryNos = new List<string>() { "1" },
  107. SIM = "64743066405"
  108. };
  109. NELoginUpStream nELoginUpStream = new NELoginUpStream(nELoginProperty, NEGlobalConfigs);
  110. INEProperties nEPackageProperty = new NEPackageProperty
  111. {
  112. Bodies = nELoginUpStream,
  113. MsgId = Enums.NEMsgId.login,
  114. AskId = Enums.NEAskId.cmd,
  115. VIN = "LGHC4V1D3HE202652"
  116. };
  117. NEPackage nEPackageLogin = new NEPackage(nEPackageProperty, NEGlobalConfigs);
  118. INEProperties nELogoutProperty = new NELogoutProperty()
  119. {
  120. VIN = "LGHC4V1D3HE202652"
  121. };
  122. NELogoutUpStream nELogoutUpStream1 = new NELogoutUpStream(nELogoutProperty, NEGlobalConfigs);
  123. INEProperties nEPackageProperty1 = new NEPackageProperty
  124. {
  125. Bodies = nELogoutUpStream1,
  126. MsgId = Enums.NEMsgId.loginout,
  127. AskId = Enums.NEAskId.cmd,
  128. VIN = "LGHC4V1D3HE202652"
  129. };
  130. NEPackage nEPackage = new NEPackage(nEPackageProperty1, NEGlobalConfigs);
  131. // "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08"
  132. // "12 06 08 12 06 3A 00 01"
  133. // "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08 12 06 08 12 06 3A 00 01 E9"
  134. string headerHex = nEPackage.Header.ToHexString();
  135. string bodiesHex = nEPackage.Bodies.Buffer.ToHexString();
  136. string packageHex = nEPackage.Buffer.ToHexString();
  137. }
  138. [Fact]
  139. public void NELogoutUpStream2_2()
  140. {
  141. byte[] packageBytes = "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08 12 06 08 12 06 3A 00 01 E9".ToHexBytes();
  142. NEPackage nEPackage = new NEPackage(packageBytes, NEGlobalConfigs);
  143. string headerHex = nEPackage.Header.ToHexString();
  144. string bodiesHex = nEPackage.Bodies.Buffer.ToHexString();
  145. string packageHex = nEPackage.Buffer.ToHexString();
  146. Assert.Equal("23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08", headerHex);
  147. Assert.Equal("12 06 08 12 06 3A 00 01 E9", bodiesHex);
  148. }
  149. #endregion
  150. }
  151. }