You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
3.1 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using Xunit;
  5. using JT809.Protocol;
  6. using JT809.Protocol.JT809Extensions;
  7. using JT809.Protocol.JT809MessageBody;
  8. using JT809.Protocol.JT809Exceptions;
  9. using JT809.Protocol.JT809SubMessageBody;
  10. namespace JT809.Protocol.Test.JT809SubMessageBody
  11. {
  12. public class JT809_0x1200_0x1202Test
  13. {
  14. [Fact]
  15. public void Test1()
  16. {
  17. JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();
  18. jT809_0X1200_0X1202.VehiclePosition.Day = 19;
  19. jT809_0X1200_0X1202.VehiclePosition.Month = 7;
  20. jT809_0X1200_0X1202.VehiclePosition.Year = 2012;
  21. jT809_0X1200_0X1202.VehiclePosition.Hour = 15;
  22. jT809_0X1200_0X1202.VehiclePosition.Minute = 15;
  23. jT809_0X1200_0X1202.VehiclePosition.Second = 15;
  24. jT809_0X1200_0X1202.VehiclePosition.Lon = 133123456;
  25. jT809_0X1200_0X1202.VehiclePosition.Lat = 24123456;
  26. jT809_0X1200_0X1202.VehiclePosition.Vec1 = 50;
  27. jT809_0X1200_0X1202.VehiclePosition.Vec2 = 51;
  28. jT809_0X1200_0X1202.VehiclePosition.Vec3 = 150;
  29. jT809_0X1200_0X1202.VehiclePosition.Direction = 45;
  30. jT809_0X1200_0X1202.VehiclePosition.Altitude = 45;
  31. jT809_0X1200_0X1202.VehiclePosition.State = 3;
  32. jT809_0X1200_0X1202.VehiclePosition.Alarm = 257;
  33. var hex = JT809Serializer.Serialize(jT809_0X1200_0X1202).ToHexString();
  34. //"00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01"
  35. Assert.Equal("00130707DC0F0F0F07EF4D80017018400032003300000096002D002D0000000300000101", hex);
  36. }
  37. [Fact]
  38. public void Test2()
  39. {
  40. var bytes = "00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01".ToHexBytes();
  41. JT809_0x1200_0x1202 jT809_0X1200_0X1202 = JT809Serializer.Deserialize<JT809_0x1200_0x1202>(bytes);
  42. Assert.Equal(19, jT809_0X1200_0X1202.VehiclePosition.Day);
  43. Assert.Equal(7, jT809_0X1200_0X1202.VehiclePosition.Month);
  44. Assert.Equal(2012, jT809_0X1200_0X1202.VehiclePosition.Year);
  45. Assert.Equal(15, jT809_0X1200_0X1202.VehiclePosition.Hour);
  46. Assert.Equal(15, jT809_0X1200_0X1202.VehiclePosition.Minute);
  47. Assert.Equal(15, jT809_0X1200_0X1202.VehiclePosition.Second);
  48. Assert.Equal((uint)133123456, jT809_0X1200_0X1202.VehiclePosition.Lon);
  49. Assert.Equal((uint)24123456, jT809_0X1200_0X1202.VehiclePosition.Lat);
  50. Assert.Equal(50, jT809_0X1200_0X1202.VehiclePosition.Vec1);
  51. Assert.Equal(51, jT809_0X1200_0X1202.VehiclePosition.Vec2);
  52. Assert.Equal((ushort)45, jT809_0X1200_0X1202.VehiclePosition.Direction);
  53. Assert.Equal((ushort)45, jT809_0X1200_0X1202.VehiclePosition.Altitude);
  54. Assert.Equal((uint)3, jT809_0X1200_0X1202.VehiclePosition.State);
  55. Assert.Equal((uint)257, jT809_0X1200_0X1202.VehiclePosition.Alarm);
  56. }
  57. }
  58. }