您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

64 行
2.4 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_0x09Test
  10. {
  11. [Fact]
  12. public void Test1()
  13. {
  14. JTNE_0x02_0x09 jTNE_0X02_0X09 = new JTNE_0x02_0x09();
  15. jTNE_0X02_0X09.BatteryTemperatures = new List<Metadata.BatteryTemperature>();
  16. Metadata.BatteryTemperature batteryTemperature1 = new Metadata.BatteryTemperature();
  17. batteryTemperature1.BatteryAssemblyNo = 0x01;
  18. batteryTemperature1.Temperatures = new byte[]
  19. {
  20. 0x01,0x02,0x03,0x04
  21. };
  22. Metadata.BatteryTemperature batteryTemperature2 = new Metadata.BatteryTemperature();
  23. batteryTemperature2.BatteryAssemblyNo = 0x02;
  24. batteryTemperature2.Temperatures = new byte[]
  25. {
  26. 0x05,0x06,0x07,0x08
  27. };
  28. jTNE_0X02_0X09.BatteryTemperatures.Add(batteryTemperature1);
  29. jTNE_0X02_0X09.BatteryTemperatures.Add(batteryTemperature2);
  30. var hex = JTNESerializer.Serialize(jTNE_0X02_0X09).ToHexString();
  31. Assert.Equal("09020100040102030402000405060708", hex);
  32. }
  33. [Fact]
  34. public void Test2()
  35. {
  36. var data = "09020100040102030402000405060708".ToHexBytes();
  37. JTNE_0x02_0x09 jTNE_0X02_0X09 = JTNESerializer.Deserialize<JTNE_0x02_0x09>(data);
  38. Assert.Equal(JTNE_0x02_Body.JTNE_0x02_0x09, jTNE_0X02_0X09.TypeCode);
  39. Assert.Equal(2, jTNE_0X02_0X09.BatteryTemperatureCount);
  40. Metadata.BatteryTemperature batteryTemperature1 = jTNE_0X02_0X09.BatteryTemperatures[0];
  41. Assert.Equal(0x01, batteryTemperature1.BatteryAssemblyNo);
  42. Assert.Equal(4, batteryTemperature1.TemperatureProbeCount);
  43. Assert.Equal(new byte[]
  44. {
  45. 0x01,0x02,0x03,0x04
  46. }, batteryTemperature1.Temperatures);
  47. Metadata.BatteryTemperature batteryTemperature2 = jTNE_0X02_0X09.BatteryTemperatures[1];
  48. Assert.Equal(0x02, batteryTemperature2.BatteryAssemblyNo);
  49. Assert.Equal(4, batteryTemperature2.TemperatureProbeCount);
  50. Assert.Equal(new byte[]
  51. {
  52. 0x05,0x06,0x07,0x08
  53. }, batteryTemperature2.Temperatures);
  54. }
  55. }
  56. }