Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

89 рядки
4.2 KiB

  1. using JT808.Protocol.Enums;
  2. using JT808.Protocol.Extensions;
  3. using JT808.Protocol.MessageBody;
  4. using System;
  5. using Xunit;
  6. namespace JT808.Protocol.Test.MessageBody
  7. {
  8. public class JT808_0x0702Test
  9. {
  10. JT808Serializer JT808Serializer = new JT808Serializer();
  11. [Fact]
  12. public void Test1()
  13. {
  14. JT808_0x0702 jT808_0X0702 = new JT808_0x0702
  15. {
  16. IC_Card_Status = JT808ICCardStatus.从业资格证IC卡拔出_驾驶员下班,
  17. IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16")
  18. };
  19. var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString();
  20. Assert.Equal("02 18 08 16 09 16 16".Replace(" ", ""), hex);
  21. }
  22. [Fact]
  23. public void Test1_2()
  24. {
  25. byte[] bytes = "02 18 08 16 09 16 16".ToHexBytes();
  26. JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes);
  27. Assert.Equal(JT808ICCardStatus.从业资格证IC卡拔出_驾驶员下班, jT808_0X0702.IC_Card_Status);
  28. Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime);
  29. }
  30. [Fact]
  31. public void Test2()
  32. {
  33. JT808_0x0702 jT808_0X0702 = new JT808_0x0702
  34. {
  35. IC_Card_Status = JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班,
  36. IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16"),
  37. IC_Card_ReadResult = JT808ICCardReadResult.读卡失败_原因为卡片密钥认证未通过
  38. };
  39. var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString();
  40. Assert.Equal("01 18 08 16 09 16 16 01".Replace(" ", ""), hex);
  41. }
  42. [Fact]
  43. public void Test2_2()
  44. {
  45. byte[] bytes = "01 18 08 16 09 16 16 01".ToHexBytes();
  46. JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes);
  47. Assert.Equal(JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, jT808_0X0702.IC_Card_Status);
  48. Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime);
  49. Assert.Equal(JT808ICCardReadResult.读卡失败_原因为卡片密钥认证未通过, jT808_0X0702.IC_Card_ReadResult);
  50. }
  51. [Fact]
  52. public void Test3()
  53. {
  54. JT808_0x0702 jT808_0X0702 = new JT808_0x0702
  55. {
  56. IC_Card_Status = JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班,
  57. IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16"),
  58. IC_Card_ReadResult = JT808ICCardReadResult.IC卡读卡成功,
  59. DriverUserName = "koike",
  60. QualificationCode = "qwe123456aaa",
  61. LicenseIssuing = "qwertx",
  62. CertificateExpiresDate = DateTime.Parse("2018-08-16")
  63. };
  64. var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString();
  65. Assert.Equal("01 18 08 16 09 16 16 00 05 6B 6F 69 6B 65 71 77 65 31 32 33 34 35 36 61 61 61 30 30 30 30 30 30 30 30 06 71 77 65 72 74 78 07 E2 08 16".Replace(" ", ""), hex);
  66. //"01 18 08 16 09 16 16 00 05 6B 6F 69 6B 65 71 77 65 31 32 33 34 35 36 61 61 61 30 30 30 30 30 30 30 30 06 71 77 65 72 74 78 07 E2 08 16"
  67. }
  68. [Fact]
  69. public void Test3_1()
  70. {
  71. byte[] bytes = "01 18 08 16 09 16 16 00 05 6B 6F 69 6B 65 71 77 65 31 32 33 34 35 36 61 61 61 30 30 30 30 30 30 30 30 06 71 77 65 72 74 78 07 E2 08 16".ToHexBytes();
  72. JT808_0x0702 jT808_0X0702 = JT808Serializer.Deserialize<JT808_0x0702>(bytes);
  73. Assert.Equal(JT808ICCardStatus.从业资格证IC卡插入_驾驶员上班, jT808_0X0702.IC_Card_Status);
  74. Assert.Equal(DateTime.Parse("2018-08-16 09:16:16"), jT808_0X0702.IC_Card_PlugDateTime);
  75. Assert.Equal(JT808ICCardReadResult.IC卡读卡成功, jT808_0X0702.IC_Card_ReadResult);
  76. Assert.Equal("koike", jT808_0X0702.DriverUserName);
  77. Assert.Equal("qwe123456aaa00000000", jT808_0X0702.QualificationCode);
  78. Assert.Equal("qwertx", jT808_0X0702.LicenseIssuing);
  79. Assert.Equal(DateTime.Parse("2018-08-16"), jT808_0X0702.CertificateExpiresDate);
  80. }
  81. }
  82. }