68 lines
2.3 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_0x02_0x07Test
  10. {
  11. [Fact]
  12. public void Test1()
  13. {
  14. JTNE_0x02_0x07 jTNE_0X02_0X07 = new JTNE_0x02_0x07();
  15. jTNE_0X02_0X07.AlarmBatteryFlag = 5533;
  16. jTNE_0X02_0X07.AlarmLevel = 0x11;
  17. jTNE_0X02_0X07.AlarmBatteryOthers = new List<uint>
  18. {
  19. 1000,1001,1002
  20. };
  21. jTNE_0X02_0X07.AlarmEls = new List<uint>
  22. {
  23. 2000,2001,2002
  24. };
  25. jTNE_0X02_0X07.AlarmEngines = new List<uint>
  26. {
  27. 3000,3001,3002
  28. };
  29. jTNE_0X02_0X07.AlarmOthers = new List<uint>
  30. {
  31. 4000,4001,4002
  32. };
  33. var hex = JTNESerializer.Serialize(jTNE_0X02_0X07).ToHexString();
  34. Assert.Equal("07110000159D03000003E8000003E9000003EA03000007D0000007D1000007D20300000BB800000BB900000BBA0300000FA000000FA100000FA2", hex);
  35. }
  36. [Fact]
  37. public void Test2()
  38. {
  39. var data = "07110000159D03000003E8000003E9000003EA03000007D0000007D1000007D20300000BB800000BB900000BBA0300000FA000000FA100000FA2".ToHexBytes();
  40. JTNE_0x02_0x07 jTNE_0X02_0X07 = JTNESerializer.Deserialize<JTNE_0x02_0x07>(data);
  41. Assert.Equal(JTNE_0x02_Body.JTNE_0x02_0x07, jTNE_0X02_0X07.TypeCode);
  42. Assert.Equal(0x11, jTNE_0X02_0X07.AlarmLevel);
  43. Assert.Equal(3, jTNE_0X02_0X07.AlarmBatteryOthers.Count);
  44. Assert.Equal(new List<uint>
  45. {
  46. 1000,1001,1002
  47. }, jTNE_0X02_0X07.AlarmBatteryOthers);
  48. Assert.Equal(3, jTNE_0X02_0X07.AlarmEls.Count);
  49. Assert.Equal(new List<uint>
  50. {
  51. 2000,2001,2002
  52. }, jTNE_0X02_0X07.AlarmEls);
  53. Assert.Equal(3, jTNE_0X02_0X07.AlarmEngines.Count);
  54. Assert.Equal(new List<uint>
  55. {
  56. 3000,3001,3002
  57. }, jTNE_0X02_0X07.AlarmEngines);
  58. Assert.Equal(3, jTNE_0X02_0X07.AlarmOthers.Count);
  59. Assert.Equal(new List<uint>
  60. {
  61. 4000,4001,4002
  62. }, jTNE_0X02_0X07.AlarmOthers);
  63. }
  64. }
  65. }