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

53 行
2.1 KiB

  1. using JT808.Protocol.Extensions;
  2. using JT808.Protocol.MessageBody;
  3. using System;
  4. using System.Collections.Generic;
  5. using Xunit;
  6. using JT808.Protocol.Metadata;
  7. namespace JT808.Protocol.Test.MessageBody
  8. {
  9. public class JT808_0x0705Test
  10. {
  11. JT808Serializer JT808Serializer = new JT808Serializer();
  12. [Fact]
  13. public void Test1()
  14. {
  15. JT808_0x0705 jT808_0X0705 = new JT808_0x0705
  16. {
  17. FirstCanReceiveTime = DateTime.Parse("2018-11-15 20:00:05.350"),
  18. CanItems = new List<JT808CanProperty>()
  19. };
  20. jT808_0X0705.CanItems.Add(new JT808CanProperty()
  21. {
  22. CanId = new byte[] { 0x01, 0x02, 0x03, 0x04 },
  23. CanData = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04 },
  24. });
  25. jT808_0X0705.CanItems.Add(new JT808CanProperty()
  26. {
  27. CanId = new byte[] { 0x05, 0x06, 0x07, 0x08 },
  28. CanData = new byte[] { 0x01, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01 },
  29. });
  30. var hex = JT808Serializer.Serialize(jT808_0X0705).ToHexString();
  31. Assert.Equal("0002200005015E010203040102030401020304050607080103040506070801", hex);
  32. }
  33. [Fact]
  34. public void Test2()
  35. {
  36. byte[] bytes = "0002200005015E010203040102030401020304050607080103040506070801".ToHexBytes();
  37. JT808_0x0705 jT808_0X0705 = JT808Serializer.Deserialize<JT808_0x0705>(bytes);
  38. Assert.Equal(2, jT808_0X0705.CanItemCount);
  39. Assert.Equal(DateTime.Parse("20:00:05.350"), jT808_0X0705.FirstCanReceiveTime);
  40. Assert.Equal(new byte[] { 0x01, 0x02, 0x03, 0x04 }, jT808_0X0705.CanItems[0].CanId);
  41. Assert.Equal(new byte[] { 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04 }, jT808_0X0705.CanItems[0].CanData);
  42. Assert.Equal(new byte[] { 0x05, 0x06, 0x07, 0x08 }, jT808_0X0705.CanItems[1].CanId);
  43. Assert.Equal(new byte[] { 0x01, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01 }, jT808_0X0705.CanItems[1].CanData);
  44. }
  45. }
  46. }