25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

68 satır
2.6 KiB

  1. using JT808.Protocol.Enums;
  2. using JT808.Protocol.Extensions;
  3. using JT808.Protocol.MessageBody;
  4. using System;
  5. using System.Collections.Generic;
  6. using Xunit;
  7. using JT808.Protocol.Metadata;
  8. namespace JT808.Protocol.Test.MessageBody
  9. {
  10. public class JT808_0x8604Test
  11. {
  12. JT808Serializer JT808Serializer = new JT808Serializer();
  13. [Fact]
  14. public void Test1()
  15. {
  16. JT808_0x8604 jT808_0X8604 = new JT808_0x8604
  17. {
  18. AreaId = 1234,
  19. AreaProperty = JT808SettingProperty.append_region.ToByteValue(),
  20. StartTime = DateTime.Parse("2018-11-20 00:00:12"),
  21. EndTime = DateTime.Parse("2018-11-21 00:00:12"),
  22. HighestSpeed = 62,
  23. OverspeedDuration = 218,
  24. PeakItems = new List<JT808PeakProperty>()
  25. };
  26. jT808_0X8604.PeakItems.Add(new JT808PeakProperty
  27. {
  28. Lat= 123456789,
  29. Lng= 123456788
  30. });
  31. jT808_0X8604.PeakItems.Add(new JT808PeakProperty
  32. {
  33. Lat = 123456700,
  34. Lng = 123456701
  35. });
  36. var hex = JT808Serializer.Serialize(jT808_0X8604).ToHexString();
  37. Assert.Equal("000004D200011811200000121811210000120002075BCD15075BCD14075BCCBC075BCCBD", hex);
  38. }
  39. [Fact]
  40. public void Test2()
  41. {
  42. byte[] bytes = "000004D200011811200000121811210000120002075BCD15075BCD14075BCCBC075BCCBD".ToHexBytes();
  43. JT808_0x8604 jT808_0X8604 = JT808Serializer.Deserialize<JT808_0x8604>(bytes);
  44. Assert.Equal((uint)1234, jT808_0X8604.AreaId);
  45. Assert.Equal(JT808SettingProperty.append_region.ToByteValue(), jT808_0X8604.AreaProperty);
  46. Assert.Null(jT808_0X8604.HighestSpeed);
  47. Assert.Null(jT808_0X8604.OverspeedDuration);
  48. Assert.Equal(DateTime.Parse("2018-11-20 00:00:12"),jT808_0X8604.StartTime);
  49. Assert.Equal(DateTime.Parse("2018-11-21 00:00:12"),jT808_0X8604.EndTime);
  50. Assert.Equal(2, jT808_0X8604.PeakItems.Count);
  51. Assert.Equal((uint)123456789, jT808_0X8604.PeakItems[0].Lat);
  52. Assert.Equal((uint)123456788, jT808_0X8604.PeakItems[0].Lng);
  53. Assert.Equal((uint)123456700, jT808_0X8604.PeakItems[1].Lat);
  54. Assert.Equal((uint)123456701, jT808_0X8604.PeakItems[1].Lng);
  55. }
  56. [Fact]
  57. public void Test3()
  58. {
  59. byte[] bytes = "000004D200011811200000121811210000120002075BCD15075BCD14075BCCBC075BCCBD".ToHexBytes();
  60. string json = JT808Serializer.Analyze<JT808_0x8604>(bytes);
  61. }
  62. }
  63. }