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.

46 line
1.8 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_0x01_DeviceTest
  10. {
  11. [Fact]
  12. public void Test1()
  13. {
  14. JTNE_0x01_Device jTNE_0X01_Device = new JTNE_0x01_Device();
  15. jTNE_0X01_Device.PDATime = DateTime.Parse("2019-01-22 23:55:56");
  16. jTNE_0X01_Device.LoginNum = 1;
  17. jTNE_0X01_Device.BatteryLength = 0x04;
  18. jTNE_0X01_Device.SIM = "12345678998765432100";
  19. jTNE_0X01_Device.BatteryNos = new List<string>()
  20. {
  21. "1234",
  22. "4567",
  23. "9870"
  24. };
  25. var hex = JTNESerializer_Device.Serialize(jTNE_0X01_Device).ToHexString();
  26. Assert.Equal("130116173738000131323334353637383939383736353433323130300304313233343435363739383730", hex);
  27. }
  28. [Fact]
  29. public void Test2()
  30. {
  31. var data = "130116173738000131323334353637383939383736353433323130300304313233343435363739383730".ToHexBytes();
  32. JTNE_0x01_Device jTNE_0X01_Device = JTNESerializer_Device.Deserialize<JTNE_0x01_Device>(data);
  33. Assert.Equal(DateTime.Parse("2019-01-22 23:55:56"), jTNE_0X01_Device.PDATime);
  34. Assert.Equal(1, jTNE_0X01_Device.LoginNum);
  35. Assert.Equal(0x04, jTNE_0X01_Device.BatteryLength);
  36. Assert.Equal("12345678998765432100", jTNE_0X01_Device.SIM);
  37. Assert.Equal(3, jTNE_0X01_Device.BatteryCount);
  38. Assert.Equal("1234", jTNE_0X01_Device.BatteryNos[0]);
  39. Assert.Equal("4567", jTNE_0X01_Device.BatteryNos[1]);
  40. Assert.Equal("9870", jTNE_0X01_Device.BatteryNos[2]);
  41. }
  42. }
  43. }