Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

303 Zeilen
12 KiB

  1. using JTNE.Protocol.MessageBody;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using Xunit;
  6. using JTNE.Protocol.Extensions;
  7. namespace JTNE.Protocol.Test.MessageBody
  8. {
  9. public class JTNE_0x80ReplyTest
  10. {
  11. [Fact]
  12. public void Test1()
  13. {
  14. JTNE_0x80Reply jTNE_0x80Reply = new JTNE_0x80Reply();
  15. JTNE_0x81 jTNE_0X81 = new JTNE_0x81
  16. {
  17. OperateTime = DateTime.Parse("2019-01-22 23:55:56"),
  18. ParamNum = 1,
  19. ParamList = new List<JTNE_0x81_Body> {
  20. new JTNE_0x81_0x01{
  21. ParamId=0x01,
  22. ParamLength=2,
  23. ParamValue=10
  24. }
  25. }
  26. };
  27. jTNE_0x80Reply.JTNE_Reply0x80 = jTNE_0X81;
  28. var hex = JTNESerializer.Serialize(jTNE_0x80Reply).ToHexString();
  29. Assert.Equal("1301161737380101000A", hex);
  30. }
  31. [Fact]
  32. public void Test1_1()
  33. {
  34. var data = "1301161737380101000A".ToHexBytes();
  35. JTNE_0x80Reply jTNE_0x80Reply = JTNESerializer.Deserialize<JTNE_0x80Reply>(data);
  36. Assert.Equal(DateTime.Parse("2019-01-22 23:55:56"), jTNE_0x80Reply.JTNE_Reply0x80.OperateTime);
  37. Assert.Equal(1, jTNE_0x80Reply.JTNE_Reply0x80.ParamNum);
  38. Assert.Equal(Newtonsoft.Json.JsonConvert.SerializeObject( new JTNE_0x81_0x01
  39. {
  40. ParamId = 0x01,
  41. ParamLength = 2,
  42. ParamValue = 10
  43. }), Newtonsoft.Json.JsonConvert.SerializeObject(jTNE_0x80Reply.JTNE_Reply0x80.ParamList[0]));
  44. }
  45. [Fact]
  46. public void Test2()
  47. {
  48. JTNE_0x80Reply jTNE_0x80Reply = new JTNE_0x80Reply();
  49. JTNE_0x81 jTNE_0X81 = new JTNE_0x81
  50. {
  51. OperateTime = DateTime.Parse("2019-01-22 23:55:56"),
  52. ParamNum = 1,
  53. ParamList = new List<JTNE_0x81_Body> {
  54. new JTNE_0x81_0x02{
  55. ParamId=0x02,
  56. ParamLength=2,
  57. ParamValue=20
  58. }
  59. }
  60. };
  61. jTNE_0x80Reply.JTNE_Reply0x80 = jTNE_0X81;
  62. var hex = JTNESerializer.Serialize(jTNE_0x80Reply).ToHexString();
  63. Assert.Equal("13011617373801020014", hex);
  64. }
  65. [Fact]
  66. public void Test2_1()
  67. {
  68. var data = "13011617373801020014".ToHexBytes();
  69. JTNE_0x80Reply jTNE_0x80Reply = JTNESerializer.Deserialize<JTNE_0x80Reply>(data);
  70. Assert.Equal(DateTime.Parse("2019-01-22 23:55:56"), jTNE_0x80Reply.JTNE_Reply0x80.OperateTime);
  71. Assert.Equal(1, jTNE_0x80Reply.JTNE_Reply0x80.ParamNum);
  72. Assert.Equal(Newtonsoft.Json.JsonConvert.SerializeObject(new JTNE_0x81_0x02
  73. {
  74. ParamId = 0x02,
  75. ParamLength = 2,
  76. ParamValue = 20
  77. }), Newtonsoft.Json.JsonConvert.SerializeObject(jTNE_0x80Reply.JTNE_Reply0x80.ParamList[0]));
  78. }
  79. [Fact]
  80. public void Test4()
  81. {
  82. JTNE_0x80Reply jTNE_0x80Reply = new JTNE_0x80Reply();
  83. JTNE_0x81 jTNE_0X81 = new JTNE_0x81
  84. {
  85. OperateTime = DateTime.Parse("2019-01-22 23:55:56"),
  86. ParamNum=3,
  87. ParamList = new List<JTNE_0x81_Body> {
  88. new JTNE_0x81_0x04{
  89. ParamValue=8
  90. },new JTNE_0x81_0x05{
  91. ParamValue=new byte[]{ 1, 2, 3, 4, 5, 6, 7, 8 }
  92. },
  93. new JTNE_0x81_0x06{
  94. ParamValue=40
  95. }
  96. }
  97. };
  98. jTNE_0x80Reply.JTNE_Reply0x80 = jTNE_0X81;
  99. var hex = JTNESerializer.Serialize(jTNE_0x80Reply).ToHexString();
  100. Assert.Equal("130116173738030408050102030405060708060028", hex);
  101. }
  102. [Fact]
  103. public void Test4_1()
  104. {
  105. var data = "130116173738030408050102030405060708060028".ToHexBytes();
  106. JTNE_0x80Reply jTNE_0x80Reply = JTNESerializer.Deserialize<JTNE_0x80Reply>(data);
  107. Assert.Equal(DateTime.Parse("2019-01-22 23:55:56"), jTNE_0x80Reply.JTNE_Reply0x80.OperateTime);
  108. Assert.Equal(jTNE_0x80Reply.JTNE_Reply0x80.ParamList.Count, jTNE_0x80Reply.JTNE_Reply0x80.ParamNum);
  109. Assert.Equal(Newtonsoft.Json.JsonConvert.SerializeObject(new List<JTNE_0x81_Body> {
  110. new JTNE_0x81_0x04{
  111. ParamValue=8
  112. },new JTNE_0x81_0x05{
  113. ParamValue=new byte[]{1,2,3,4,5,6,7,8 },
  114. ParamLength=8
  115. }, new JTNE_0x81_0x06{
  116. ParamValue=40
  117. }
  118. }), Newtonsoft.Json.JsonConvert.SerializeObject(jTNE_0x80Reply.JTNE_Reply0x80.ParamList));
  119. }
  120. [Fact]
  121. public void Test5()
  122. {
  123. JTNE_0x80Reply jTNE_0x80Reply = new JTNE_0x80Reply();
  124. JTNE_0x81 jTNE_0X81 = new JTNE_0x81
  125. {
  126. OperateTime = DateTime.Parse("2019-01-22 23:55:56"),
  127. ParamNum=3,
  128. ParamList = new List<JTNE_0x81_Body> {
  129. new JTNE_0x81_0x0D{
  130. ParamValue=8
  131. },new JTNE_0x81_0x0E{
  132. ParamValue=new byte[]{ 1, 2, 3, 4, 5, 6, 7, 8 }
  133. },
  134. new JTNE_0x81_0x0F{
  135. ParamValue=40
  136. }
  137. }
  138. };
  139. jTNE_0x80Reply.JTNE_Reply0x80 = jTNE_0X81;
  140. var hex = JTNESerializer.Serialize(jTNE_0x80Reply).ToHexString();
  141. Assert.Equal("130116173738030D080E01020304050607080F0028", hex);
  142. }
  143. [Fact]
  144. public void Test5_1()
  145. {
  146. var data = "130116173738030D080E01020304050607080F0028".ToHexBytes();
  147. JTNE_0x80Reply jTNE_0x80Reply = JTNESerializer.Deserialize<JTNE_0x80Reply>(data);
  148. Assert.Equal(DateTime.Parse("2019-01-22 23:55:56"), jTNE_0x80Reply.JTNE_Reply0x80.OperateTime);
  149. Assert.Equal(jTNE_0x80Reply.JTNE_Reply0x80.ParamList.Count, jTNE_0x80Reply.JTNE_Reply0x80.ParamNum);
  150. Assert.Equal(Newtonsoft.Json.JsonConvert.SerializeObject(new List<JTNE_0x81_Body> {
  151. new JTNE_0x81_0x0D{
  152. ParamValue=8
  153. },new JTNE_0x81_0x0E{
  154. ParamValue=new byte[]{1,2,3,4,5,6,7,8 },
  155. ParamLength=8
  156. }, new JTNE_0x81_0x0F{
  157. ParamValue=40
  158. }
  159. }), Newtonsoft.Json.JsonConvert.SerializeObject(jTNE_0x80Reply.JTNE_Reply0x80.ParamList));
  160. }
  161. [Fact]
  162. public void Test3()
  163. {
  164. JTNE_0x80Reply jTNE_0x80Reply = new JTNE_0x80Reply();
  165. JTNE_0x81 jTNE_0X81 = new JTNE_0x81 {
  166. OperateTime= DateTime.Parse("2019-01-22 23:55:56"),
  167. ParamNum=1,
  168. ParamList = new List<JTNE_0x81_Body> {
  169. new JTNE_0x81_0x03{
  170. ParamId=0x03,
  171. ParamLength=2,
  172. ParamValue=30
  173. }
  174. }
  175. };
  176. jTNE_0x80Reply.JTNE_Reply0x80 = jTNE_0X81;
  177. var hex = JTNESerializer.Serialize(jTNE_0x80Reply).ToHexString();
  178. Assert.Equal("1301161737380103001E", hex);
  179. }
  180. [Fact]
  181. public void Test3_1()
  182. {
  183. var data = "1301161737380103001E".ToHexBytes();
  184. JTNE_0x80Reply jTNE_0x80Reply = JTNESerializer.Deserialize<JTNE_0x80Reply>(data);
  185. Assert.Equal(DateTime.Parse("2019-01-22 23:55:56"), jTNE_0x80Reply.JTNE_Reply0x80.OperateTime);
  186. Assert.Equal(1, jTNE_0x80Reply.JTNE_Reply0x80.ParamNum);
  187. Assert.Equal(Newtonsoft.Json.JsonConvert.SerializeObject(new JTNE_0x81_0x03
  188. {
  189. ParamId = 0x03,
  190. ParamLength = 2,
  191. ParamValue = 30
  192. }), Newtonsoft.Json.JsonConvert.SerializeObject(jTNE_0x80Reply.JTNE_Reply0x80.ParamList[0]));
  193. }
  194. [Fact]
  195. public void TestAll()
  196. {
  197. JTNE_0x80Reply jTNE_0x80Reply = new JTNE_0x80Reply();
  198. JTNE_0x81 jTNE_0X81 = new JTNE_0x81 {
  199. OperateTime = DateTime.Parse("2019-01-22 23:55:56"),
  200. ParamNum=12,
  201. ParamList = new List<JTNE_0x81_Body> {
  202. new JTNE_0x81_0x01{
  203. ParamValue=10
  204. },
  205. new JTNE_0x81_0x02{
  206. ParamValue=20
  207. },
  208. new JTNE_0x81_0x03{
  209. ParamValue=30
  210. },
  211. new JTNE_0x81_0x06{
  212. ParamValue=40
  213. },
  214. new JTNE_0x81_0x07{
  215. ParamValue="abcde"
  216. },
  217. new JTNE_0x81_0x08{
  218. ParamValue="12345"
  219. },
  220. new JTNE_0x81_0x09{
  221. ParamValue=50
  222. },
  223. new JTNE_0x81_0x0A{
  224. ParamValue=60
  225. },
  226. new JTNE_0x81_0x0B{
  227. ParamValue=70
  228. },
  229. new JTNE_0x81_0x0C{
  230. ParamValue=80
  231. },
  232. new JTNE_0x81_0x0F{
  233. ParamValue=90
  234. },
  235. new JTNE_0x81_0x10{
  236. ParamValue=0x01
  237. }
  238. }
  239. };
  240. jTNE_0x80Reply.JTNE_Reply0x80 = jTNE_0X81;
  241. var hex = JTNESerializer.Serialize(jTNE_0x80Reply).ToHexString();
  242. Assert.Equal("1301161737380C01000A02001403001E06002807616263646508313233343509320A003C0B00460C500F005A1001", hex);
  243. }
  244. [Fact]
  245. public void TestAll_1()
  246. {
  247. var data = "1301161737380C01000A02001403001E06002807616263646508313233343509320A003C0B00460C500F005A1001".ToHexBytes();
  248. JTNE_0x80Reply jTNE_0x80Reply = JTNESerializer.Deserialize<JTNE_0x80Reply>(data);
  249. Assert.Equal(DateTime.Parse("2019-01-22 23:55:56"), jTNE_0x80Reply.JTNE_Reply0x80.OperateTime);
  250. Assert.Equal(12, jTNE_0x80Reply.JTNE_Reply0x80.ParamNum);
  251. Assert.Equal(Newtonsoft.Json.JsonConvert.SerializeObject(new List<JTNE_0x81_Body> {
  252. new JTNE_0x81_0x01{
  253. ParamValue=10
  254. },
  255. new JTNE_0x81_0x02{
  256. ParamValue=20
  257. },
  258. new JTNE_0x81_0x03{
  259. ParamValue=30
  260. },
  261. new JTNE_0x81_0x06{
  262. ParamValue=40
  263. },
  264. new JTNE_0x81_0x07{
  265. ParamValue="abcde"
  266. },
  267. new JTNE_0x81_0x08{
  268. ParamValue="12345"
  269. },
  270. new JTNE_0x81_0x09{
  271. ParamValue=50
  272. },
  273. new JTNE_0x81_0x0A{
  274. ParamValue=60
  275. },
  276. new JTNE_0x81_0x0B{
  277. ParamValue=70
  278. },
  279. new JTNE_0x81_0x0C{
  280. ParamValue=80
  281. },
  282. new JTNE_0x81_0x0F{
  283. ParamValue=90
  284. },
  285. new JTNE_0x81_0x10{
  286. ParamValue=0x01
  287. }
  288. }), Newtonsoft.Json.JsonConvert.SerializeObject(jTNE_0x80Reply.JTNE_Reply0x80.ParamList));
  289. }
  290. }
  291. }