Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

56 righe
2.6 KiB

  1. using JTNE.Protocol.Enums;
  2. using JTNE.Protocol.Extensions;
  3. using JTNE.Protocol.MessageBody;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. using Xunit;
  8. namespace JTNE.Protocol.Test
  9. {
  10. public class JTNEHeaderPackage_DeviceTest
  11. {
  12. [Fact]
  13. public void Test1()
  14. {
  15. JTNEHeaderPackage_Device jTNEHeaderPackage = new JTNEHeaderPackage_Device();
  16. jTNEHeaderPackage.VIN = "123456789";
  17. jTNEHeaderPackage.AskId = JTNEAskId.CMD.ToByteValue();
  18. jTNEHeaderPackage.MsgId = JTNEMsgId_Device.login.ToByteValue();
  19. JTNE_0x01_Device jTNE_0X01_Device = new JTNE_0x01_Device();
  20. jTNE_0X01_Device.PDATime = DateTime.Parse("2019-01-22 23:55:56");
  21. jTNE_0X01_Device.LoginNum = 1;
  22. jTNE_0X01_Device.BatteryLength = 0x04;
  23. jTNE_0X01_Device.SIM = "12345678998765432100";
  24. jTNE_0X01_Device.BatteryNos = new List<string>()
  25. {
  26. "1234",
  27. "4567",
  28. "9870"
  29. };
  30. jTNEHeaderPackage.Bodies = JTNESerializer_Device.Serialize(jTNE_0X01_Device);
  31. var hex = JTNESerializer_Device.Serialize(jTNEHeaderPackage).ToHexString();
  32. Assert.Equal("232301FE313233343536373839000000000000000001002A130116173738000131323334353637383939383736353433323130300304313233343435363739383730FD", hex);
  33. }
  34. [Fact]
  35. public void Test2()
  36. {
  37. var data= "232301FE313233343536373839000000000000000001002A130116173738000131323334353637383939383736353433323130300304313233343435363739383730FD".ToHexBytes();
  38. JTNEHeaderPackage_Device jTNEHeaderPackage = JTNESerializer_Device.Deserialize<JTNEHeaderPackage_Device>(data);
  39. Assert.Equal(JTNEAskId.CMD.ToByteValue(), jTNEHeaderPackage.AskId);
  40. Assert.Equal(JTNEMsgId_Device.login.ToByteValue(), jTNEHeaderPackage.MsgId);
  41. Assert.Equal("123456789", jTNEHeaderPackage.VIN);
  42. JTNE_0x01_Device jTNE_0X01_Device = JTNESerializer_Device.Deserialize<JTNE_0x01_Device>(jTNEHeaderPackage.Bodies);
  43. Assert.Equal(DateTime.Parse("2019-01-22 23:55:56"), jTNE_0X01_Device.PDATime);
  44. Assert.Equal(1, jTNE_0X01_Device.LoginNum);
  45. Assert.Equal(0x04, jTNE_0X01_Device.BatteryLength);
  46. Assert.Equal("12345678998765432100", jTNE_0X01_Device.SIM);
  47. Assert.Equal(3, jTNE_0X01_Device.BatteryCount);
  48. Assert.Equal("1234", jTNE_0X01_Device.BatteryNos[0]);
  49. Assert.Equal("4567", jTNE_0X01_Device.BatteryNos[1]);
  50. Assert.Equal("9870", jTNE_0X01_Device.BatteryNos[2]);
  51. }
  52. }
  53. }