選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

46 行
1.8 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_0x8802Test
  9. {
  10. JT808Serializer JT808Serializer = new JT808Serializer();
  11. [Fact]
  12. public void Test1()
  13. {
  14. JT808_0x8802 jT808_0X8802 = new JT808_0x8802
  15. {
  16. ChannelId = 123,
  17. EventItemCoding = JT808EventItemCoding.collision_rollover_alarm_triggered.ToByteValue(),
  18. MultimediaType = JT808MultimediaType.video.ToByteValue(),
  19. StartTime = DateTime.Parse("2018-11-16 21:00:08"),
  20. EndTime = DateTime.Parse("2018-11-16 22:00:08")
  21. };
  22. string hex = JT808Serializer.Serialize(jT808_0X8802).ToHexString();
  23. Assert.Equal("027B03181116210008181116220008", hex);
  24. }
  25. [Fact]
  26. public void Test2()
  27. {
  28. byte[] bytes = "027B03181116210008181116220008".ToHexBytes();
  29. JT808_0x8802 jT808_0X8802 = JT808Serializer.Deserialize<JT808_0x8802>(bytes);
  30. Assert.Equal(123, jT808_0X8802.ChannelId);
  31. Assert.Equal(JT808EventItemCoding.collision_rollover_alarm_triggered.ToByteValue(), jT808_0X8802.EventItemCoding);
  32. Assert.Equal(JT808MultimediaType.video.ToByteValue(), jT808_0X8802.MultimediaType);
  33. Assert.Equal(DateTime.Parse("2018-11-16 21:00:08"), jT808_0X8802.StartTime);
  34. Assert.Equal(DateTime.Parse("2018-11-16 22:00:08"), jT808_0X8802.EndTime);
  35. }
  36. [Fact]
  37. public void Test3()
  38. {
  39. byte[] bytes = "027B03181116210008181116220008".ToHexBytes();
  40. string json = JT808Serializer.Analyze<JT808_0x8802>(bytes);
  41. }
  42. }
  43. }