Pārlūkot izejas kodu

添加粤标的单元测试

tags/v2.4.1
waterliu99 pirms 3 gadiem
vecāks
revīzija
2b3f63ac62
20 mainītis faili ar 1387 papildinājumiem un 14 dzēšanām
  1. +1
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808.Protocol.Extensions.YueBiao.Test.csproj
  2. +103
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0200_0x64_Test.cs
  3. +97
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0200_0x65_Test.cs
  4. +117
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0200_0x66_Test.cs
  5. +92
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0200_0x67_Test.cs
  6. +68
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0900_0xF7_Test.cs
  7. +71
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0900_0xF8_Test.cs
  8. +86
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x1210_Test.cs
  9. +50
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x1211_Test.cs
  10. +49
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x1212_Test.cs
  11. +52
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x1FC4_Test.cs
  12. +139
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8103_0xF364_Test.cs
  13. +116
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8103_0xF365_Test.cs
  14. +69
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8103_0xF366_Test.cs
  15. +51
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8103_0xF367_Test.cs
  16. +46
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8900_0xF7_Test.cs
  17. +46
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8900_0xF8_Test.cs
  18. +67
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x9208_Test.cs
  19. +67
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x9212_Test.cs
  20. +0
    -14
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/UnitTest1.cs

+ 1
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808.Protocol.Extensions.YueBiao.Test.csproj Parādīt failu

@@ -7,6 +7,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">


+ 103
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0200_0x64_Test.cs Parādīt failu

@@ -0,0 +1,103 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x0200_0x64_Test
{
JT808Serializer JT808Serializer;
public JT808_0x0200_0x64_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x0200 jT808UploadLocationRequest = new JT808_0x0200
{
AlarmFlag = 1,
Altitude = 40,
GPSTime = DateTime.Parse("2018-07-15 10:10:10"),
Lat = 12222222,
Lng = 132444444,
Speed = 60,
Direction = 0,
StatusFlag = 2,
JT808LocationAttachData = new Dictionary<byte, JT808_0x0200_BodyBase>()
};
jT808UploadLocationRequest.JT808LocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x64, new JT808_0x0200_0x64
{
AlarmId = 1,
AlarmIdentification = new Metadata.AlarmIdentificationProperty
{
AttachCount = 2,
SN = 3,
TerminalId = "4444444",
Time = Convert.ToDateTime("2019-12-10 18:31:00"),
Retain1 = 5,
Retain2 = 6
},
AlarmLevel = 5,
AlarmOrEventType = 6,
AlarmTime = Convert.ToDateTime("2019-12-11 18:31:00"),
Altitude = 7,
CarOrPedestrianDistanceAhead = 10,
DeviateType = 11,
FlagState = 12,
Latitude = 13,
Longitude = 14,
RoadSignIdentificationData = 15,
RoadSignIdentificationType = 16,
Speed = 17,
VehicleSpeed = 18,
VehicleState = 19
});
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("000000010000000200BA7F0E07E4F11C0028003C00001807151010106447000000010C0605120A0B100F1100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106447000000010C0605120A0B100F1100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes());
jT808UploadLocationRequest.JT808LocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x64, out var value);
JT808_0x0200_0x64 jT808_0X0200_0X64 = value as JT808_0x0200_0x64;
Assert.Equal(1u, jT808_0X0200_0X64.AlarmId);
Assert.Equal(2, jT808_0X0200_0X64.AlarmIdentification.AttachCount);
Assert.Equal(3, jT808_0X0200_0X64.AlarmIdentification.SN);
Assert.Equal("4444444", jT808_0X0200_0X64.AlarmIdentification.TerminalId);
Assert.Equal(5, jT808_0X0200_0X64.AlarmIdentification.Retain1);
Assert.Equal(6, jT808_0X0200_0X64.AlarmIdentification.Retain2);
Assert.Equal(Convert.ToDateTime("2019-12-10 18:31:00"), jT808_0X0200_0X64.AlarmIdentification.Time);
Assert.Equal(5, jT808_0X0200_0X64.AlarmLevel);
Assert.Equal(6, jT808_0X0200_0X64.AlarmOrEventType);
Assert.Equal(Convert.ToDateTime("2019-12-11 18:31:00"), jT808_0X0200_0X64.AlarmTime);
Assert.Equal(7, jT808_0X0200_0X64.Altitude);
Assert.Equal(0x64, jT808_0X0200_0X64.AttachInfoId);
Assert.Equal(71, jT808_0X0200_0X64.AttachInfoLength);
Assert.Equal(10, jT808_0X0200_0X64.CarOrPedestrianDistanceAhead);
Assert.Equal(11, jT808_0X0200_0X64.DeviateType);
Assert.Equal(12, jT808_0X0200_0X64.FlagState);
Assert.Equal(13, jT808_0X0200_0X64.Latitude);
Assert.Equal(14, jT808_0X0200_0X64.Longitude);
Assert.Equal(15, jT808_0X0200_0X64.RoadSignIdentificationData);
Assert.Equal(16, jT808_0X0200_0X64.RoadSignIdentificationType);
Assert.Equal(17, jT808_0X0200_0X64.Speed);
Assert.Equal(18, jT808_0X0200_0X64.VehicleSpeed);
Assert.Equal(19, jT808_0X0200_0X64.VehicleState);
}

[Fact]
public void Deserialize1()
{
var json = JT808Serializer.Analyze<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106447000000010C0605120A0B100F1100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes());
}
}
}

+ 97
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0200_0x65_Test.cs Parādīt failu

@@ -0,0 +1,97 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x0200_0x65_Test
{
JT808Serializer JT808Serializer;
public JT808_0x0200_0x65_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x0200 jT808UploadLocationRequest = new JT808_0x0200
{
AlarmFlag = 1,
Altitude = 40,
GPSTime = DateTime.Parse("2018-07-15 10:10:10"),
Lat = 12222222,
Lng = 132444444,
Speed = 60,
Direction = 0,
StatusFlag = 2,
JT808LocationAttachData = new Dictionary<byte, JT808_0x0200_BodyBase>()
};
jT808UploadLocationRequest.JT808LocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x65, new JT808_0x0200_0x65
{
AlarmId = 1,
AlarmIdentification = new Metadata.AlarmIdentificationProperty
{
AttachCount = 2,
SN = 3,
TerminalId = "4444444",
Time = Convert.ToDateTime("2019-12-10 18:31:00"),
Retain1=5,
Retain2=6
},
AlarmLevel = 5,
AlarmOrEventType = 6,
AlarmTime = Convert.ToDateTime("2019-12-11 18:31:00"),
Altitude = 7,
Retain = new byte[] { 1, 2, 3, 4 },
FlagState = 12,
Latitude = 13,
Longitude = 14,
Speed = 17,
Fatigue = 18,
VehicleState = 19
});
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("000000010000000200BA7F0E07E4F11C0028003C00001807151010106547000000010C060512010203041100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106547000000010C060512010203041100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes());
jT808UploadLocationRequest.JT808LocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x65, out var value);
JT808_0x0200_0x65 jT808_0X0200_0X65 = value as JT808_0x0200_0x65;
Assert.Equal(1u, jT808_0X0200_0X65.AlarmId);
Assert.Equal(2, jT808_0X0200_0X65.AlarmIdentification.AttachCount);
Assert.Equal(3, jT808_0X0200_0X65.AlarmIdentification.SN);
Assert.Equal("4444444", jT808_0X0200_0X65.AlarmIdentification.TerminalId);
Assert.Equal(5, jT808_0X0200_0X65.AlarmIdentification.Retain1);
Assert.Equal(6, jT808_0X0200_0X65.AlarmIdentification.Retain2);
Assert.Equal(Convert.ToDateTime("2019-12-10 18:31:00"), jT808_0X0200_0X65.AlarmIdentification.Time);
Assert.Equal(5, jT808_0X0200_0X65.AlarmLevel);
Assert.Equal(6, jT808_0X0200_0X65.AlarmOrEventType);
Assert.Equal(Convert.ToDateTime("2019-12-11 18:31:00"), jT808_0X0200_0X65.AlarmTime);
Assert.Equal(7, jT808_0X0200_0X65.Altitude);
Assert.Equal(0x65, jT808_0X0200_0X65.AttachInfoId);
Assert.Equal(71, jT808_0X0200_0X65.AttachInfoLength);
Assert.Equal(new byte[] { 1, 2, 3, 4 }.ToHexString(), jT808_0X0200_0X65.Retain.ToHexString());
Assert.Equal(12, jT808_0X0200_0X65.FlagState);
Assert.Equal(13, jT808_0X0200_0X65.Latitude);
Assert.Equal(14, jT808_0X0200_0X65.Longitude);
Assert.Equal(17, jT808_0X0200_0X65.Speed);
Assert.Equal(18, jT808_0X0200_0X65.Fatigue);
Assert.Equal(19, jT808_0X0200_0X65.VehicleState);
}

[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106547000000010C060512010203041100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes());
}
}
}

+ 117
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0200_0x66_Test.cs Parādīt failu

@@ -0,0 +1,117 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x0200_0x66_Test
{
JT808Serializer JT808Serializer;
public JT808_0x0200_0x66_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x0200 jT808UploadLocationRequest = new JT808_0x0200
{
AlarmFlag = 1,
Altitude = 40,
GPSTime = DateTime.Parse("2018-07-15 10:10:10"),
Lat = 12222222,
Lng = 132444444,
Speed = 60,
Direction = 0,
StatusFlag = 2,
JT808LocationAttachData = new Dictionary<byte, JT808_0x0200_BodyBase>()
};
jT808UploadLocationRequest.JT808LocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x66, new JT808_0x0200_0x66
{
AlarmId = 1,
AlarmIdentification = new Metadata.AlarmIdentificationProperty
{
AttachCount = 2,
SN = 3,
TerminalId = "4444444",
Time = Convert.ToDateTime("2019-12-10 18:31:00"),
Retain1=5,
Retain2=6
},
AlarmTime = Convert.ToDateTime("2019-12-11 18:31:00"),
Altitude = 7,
AlarmOrEventCount = 2,
AlarmOrEvents = new List<Metadata.AlarmOrEventProperty> {
new Metadata.AlarmOrEventProperty{
AlarmOrEventType=1,
BatteryLevel=2,
TirePressure=3,
TirePressureAlarmPosition=4,
TireTemperature=5
},
new Metadata.AlarmOrEventProperty{
AlarmOrEventType=6,
BatteryLevel=7,
TirePressure=8,
TirePressureAlarmPosition=9,
TireTemperature=10
}
},
FlagState = 12,
Latitude = 13,
Longitude = 14,
Speed = 17,
VehicleState = 19
});
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("000000010000000200BA7F0E07E4F11C0028003C00001807151010106653000000010C1100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506020400010003000500020900060008000A0007", hex);
}

[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106653000000010C1100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506020400010003000500020900060008000A0007".ToHexBytes());
jT808UploadLocationRequest.JT808LocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x66, out var value);
JT808_0x0200_0x66 jT808_0X0200_0X66 = value as JT808_0x0200_0x66;
Assert.Equal(1u, jT808_0X0200_0X66.AlarmId);
Assert.Equal(2, jT808_0X0200_0X66.AlarmIdentification.AttachCount);
Assert.Equal(3, jT808_0X0200_0X66.AlarmIdentification.SN);
Assert.Equal("4444444", jT808_0X0200_0X66.AlarmIdentification.TerminalId);
Assert.Equal(5, jT808_0X0200_0X66.AlarmIdentification.Retain1);
Assert.Equal(6, jT808_0X0200_0X66.AlarmIdentification.Retain2);
Assert.Equal(Convert.ToDateTime("2019-12-10 18:31:00"), jT808_0X0200_0X66.AlarmIdentification.Time);
Assert.Equal(Convert.ToDateTime("2019-12-11 18:31:00"), jT808_0X0200_0X66.AlarmTime);
Assert.Equal(7, jT808_0X0200_0X66.Altitude);
Assert.Equal(2, jT808_0X0200_0X66.AlarmOrEventCount);
Assert.Equal(1, jT808_0X0200_0X66.AlarmOrEvents[0].AlarmOrEventType);
Assert.Equal(2, jT808_0X0200_0X66.AlarmOrEvents[0].BatteryLevel);
Assert.Equal(3, jT808_0X0200_0X66.AlarmOrEvents[0].TirePressure);
Assert.Equal(4, jT808_0X0200_0X66.AlarmOrEvents[0].TirePressureAlarmPosition);
Assert.Equal(5, jT808_0X0200_0X66.AlarmOrEvents[0].TireTemperature);
Assert.Equal(6, jT808_0X0200_0X66.AlarmOrEvents[1].AlarmOrEventType);
Assert.Equal(7, jT808_0X0200_0X66.AlarmOrEvents[1].BatteryLevel);
Assert.Equal(8, jT808_0X0200_0X66.AlarmOrEvents[1].TirePressure);
Assert.Equal(9, jT808_0X0200_0X66.AlarmOrEvents[1].TirePressureAlarmPosition);
Assert.Equal(10, jT808_0X0200_0X66.AlarmOrEvents[1].TireTemperature);
Assert.Equal(0x66, jT808_0X0200_0X66.AttachInfoId);
Assert.Equal(12, jT808_0X0200_0X66.FlagState);
Assert.Equal(13, jT808_0X0200_0X66.Latitude);
Assert.Equal(14, jT808_0X0200_0X66.Longitude);
Assert.Equal(17, jT808_0X0200_0X66.Speed);
Assert.Equal(19, jT808_0X0200_0X66.VehicleState);
}

[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106653000000010C1100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506020400010003000500020900060008000A0007".ToHexBytes());
}
}
}

+ 92
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0200_0x67_Test.cs Parādīt failu

@@ -0,0 +1,92 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x0200_0x67_Test
{
JT808Serializer JT808Serializer;
public JT808_0x0200_0x67_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x0200 jT808UploadLocationRequest = new JT808_0x0200
{
AlarmFlag = 1,
Altitude = 40,
GPSTime = DateTime.Parse("2018-07-15 10:10:10"),
Lat = 12222222,
Lng = 132444444,
Speed = 60,
Direction = 0,
StatusFlag = 2,
JT808LocationAttachData = new Dictionary<byte, JT808_0x0200_BodyBase>()
};
jT808UploadLocationRequest.JT808LocationAttachData.Add(JT808_YueBiao_Constants.JT808_0X0200_0x67, new JT808_0x0200_0x67
{
AlarmId = 1,
AlarmIdentification = new Metadata.AlarmIdentificationProperty
{
AttachCount = 2,
SN = 3,
TerminalId = "4444444",
Time = Convert.ToDateTime("2019-12-10 18:31:00"),
Retain1=5,
Retain2=6
},
AlarmTime = Convert.ToDateTime("2019-12-11 18:31:00"),
Altitude = 7,
AlarmLevel = 8,
AlarmOrEventType = 9,
FlagState = 12,
Latitude = 13,
Longitude = 14,
Speed = 17,
VehicleState = 19
});
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("000000010000000200BA7F0E07E4F11C0028003C00001807151010106742000000010C09081100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106742000000010C09081100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes());
jT808UploadLocationRequest.JT808LocationAttachData.TryGetValue(JT808_YueBiao_Constants.JT808_0X0200_0x67, out var value);
JT808_0x0200_0x67 jT808_0X0200_0X67 = value as JT808_0x0200_0x67;
Assert.Equal(1u, jT808_0X0200_0X67.AlarmId);
Assert.Equal(2, jT808_0X0200_0X67.AlarmIdentification.AttachCount);
Assert.Equal(3, jT808_0X0200_0X67.AlarmIdentification.SN);
Assert.Equal("4444444", jT808_0X0200_0X67.AlarmIdentification.TerminalId);
Assert.Equal(5, jT808_0X0200_0X67.AlarmIdentification.Retain1);
Assert.Equal(6, jT808_0X0200_0X67.AlarmIdentification.Retain2);
Assert.Equal(Convert.ToDateTime("2019-12-10 18:31:00"), jT808_0X0200_0X67.AlarmIdentification.Time);
Assert.Equal(Convert.ToDateTime("2019-12-11 18:31:00"), jT808_0X0200_0X67.AlarmTime);
Assert.Equal(7, jT808_0X0200_0X67.Altitude);
Assert.Equal(8, jT808_0X0200_0X67.AlarmLevel);
Assert.Equal(9, jT808_0X0200_0X67.AlarmOrEventType);
Assert.Equal(0x67, jT808_0X0200_0X67.AttachInfoId);
Assert.Equal(66, jT808_0X0200_0X67.AttachInfoLength);
Assert.Equal(12, jT808_0X0200_0X67.FlagState);
Assert.Equal(13, jT808_0X0200_0X67.Latitude);
Assert.Equal(14, jT808_0X0200_0X67.Longitude);
Assert.Equal(17, jT808_0X0200_0X67.Speed);
Assert.Equal(19, jT808_0X0200_0X67.VehicleState);
}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x0200>("000000010000000200BA7F0E07E4F11C0028003C00001807151010106742000000010C09081100070000000D0000000E191211183100001334343434343434000000000000000000000000000000000000000000000019121018310003020506".ToHexBytes());
}
}
}

+ 68
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0900_0xF7_Test.cs Parādīt failu

@@ -0,0 +1,68 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x0900_0xF7_Test
{
JT808Serializer JT808Serializer;
public JT808_0x0900_0xF7_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x0900_0xF7 jT808_0x0900_0xF7 = new JT808_0x0900_0xF7
{
USBMessageCount = 2,
USBMessages = new List<JT808_0x0900_0xF7_USB> {
new JT808_0x0900_0xF7_USB {
USBID = 1,
AlarmStatus = 1,
WorkingCondition = 2
},
new JT808_0x0900_0xF7_USB {
USBID = 2,
AlarmStatus = 1,
WorkingCondition = 2
}
}
};
var hex = JT808Serializer.Serialize(jT808_0x0900_0xF7).ToHexString();
Assert.Equal("020105020000000102050200000001", hex);
}

[Fact]
public void Deserialize()
{
var jT808_0x0900_0xF7 = JT808Serializer.Deserialize<JT808_0x0900_0xF7>("020105020000000102050200000001".ToHexBytes());

Assert.Equal(JT808_YueBiao_Constants.JT808_0X0900_0xF7, jT808_0x0900_0xF7.PassthroughType);
Assert.Equal(2, jT808_0x0900_0xF7.USBMessageCount);
Assert.Equal(1, jT808_0x0900_0xF7.USBMessages[0].USBID);
Assert.Equal(5, jT808_0x0900_0xF7.USBMessages[0].MessageLength);
Assert.Equal(2, jT808_0x0900_0xF7.USBMessages[0].WorkingCondition);
Assert.Equal(1u, jT808_0x0900_0xF7.USBMessages[0].AlarmStatus);

Assert.Equal(2, jT808_0x0900_0xF7.USBMessages[1].USBID);
Assert.Equal(5, jT808_0x0900_0xF7.USBMessages[1].MessageLength);
Assert.Equal(2, jT808_0x0900_0xF7.USBMessages[1].WorkingCondition);
Assert.Equal(1u, jT808_0x0900_0xF7.USBMessages[1].AlarmStatus);
}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x0900_0xF7>("020105020000000102050200000001".ToHexBytes());
}
}
}

+ 71
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x0900_0xF8_Test.cs Parādīt failu

@@ -0,0 +1,71 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x0900_0xF8_Test
{
JT808Serializer JT808Serializer;
public JT808_0x0900_0xF8_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x0900_0xF8 jT808_0x0900_0xF8 = new JT808_0x0900_0xF8
{
USBMessageCount = 1,
USBMessages = new List<JT808_0x0900_0xF8_USB> {
new JT808_0x0900_0xF8_USB {
USBID = 1,
CompantName = "CompantName",
CustomerCode = "CustomerCode",
DevicesID = "DevicesID",
HardwareVersionNumber = "HardwareVersionNumber",
ProductModel = "ProductModel",
SoftwareVersionNumber = "SoftwareVersionNumber"
}
}
};
var hex = JT808Serializer.Serialize(jT808_0x0900_0xF8).ToHexString();
Assert.Equal("01015C0B436F6D70616E744E616D650C50726F647563744D6F64656C15486172647761726556657273696F6E4E756D62657215536F66747761726556657273696F6E4E756D626572094465766963657349440C437573746F6D6572436F6465", hex);

}

[Fact]
public void Deserialize()
{
var jT808_0x0900_0xF8 = JT808Serializer.Deserialize<JT808_0x0900_0xF8>("01015C0B436F6D70616E744E616D650C50726F647563744D6F64656C15486172647761726556657273696F6E4E756D62657215536F66747761726556657273696F6E4E756D626572094465766963657349440C437573746F6D6572436F6465".ToHexBytes());
Assert.Equal(JT808_YueBiao_Constants.JT808_0X0900_0xF8, jT808_0x0900_0xF8.PassthroughType);
Assert.Equal(1, jT808_0x0900_0xF8.USBMessageCount);
Assert.Equal(1, jT808_0x0900_0xF8.USBMessages[0].USBID);
Assert.Equal("CompantName", jT808_0x0900_0xF8.USBMessages[0].CompantName);
Assert.Equal("CompantName".Length, jT808_0x0900_0xF8.USBMessages[0].CompantNameLength);
Assert.Equal("CustomerCode", jT808_0x0900_0xF8.USBMessages[0].CustomerCode);
Assert.Equal("CustomerCode".Length, jT808_0x0900_0xF8.USBMessages[0].CustomerCodeLength);
Assert.Equal("DevicesID", jT808_0x0900_0xF8.USBMessages[0].DevicesID);
Assert.Equal("DevicesID".Length, jT808_0x0900_0xF8.USBMessages[0].DevicesIDLength);
Assert.Equal("HardwareVersionNumber", jT808_0x0900_0xF8.USBMessages[0].HardwareVersionNumber);
Assert.Equal("HardwareVersionNumber".Length, jT808_0x0900_0xF8.USBMessages[0].HardwareVersionNumberLength);
Assert.Equal("ProductModel", jT808_0x0900_0xF8.USBMessages[0].ProductModel);
Assert.Equal("ProductModel".Length, jT808_0x0900_0xF8.USBMessages[0].ProductModelLength);
Assert.Equal("SoftwareVersionNumber", jT808_0x0900_0xF8.USBMessages[0].SoftwareVersionNumber);
Assert.Equal("SoftwareVersionNumber".Length, jT808_0x0900_0xF8.USBMessages[0].SoftwareVersionNumberLength);
}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x0900_0xF8>("01015C0B436F6D70616E744E616D650C50726F647563744D6F64656C15486172647761726556657273696F6E4E756D62657215536F66747761726556657273696F6E4E756D626572094465766963657349440C437573746F6D6572436F6465".ToHexBytes());
}
}
}

+ 86
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x1210_Test.cs Parādīt failu

@@ -0,0 +1,86 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x1210_Test
{
JT808Serializer JT808Serializer;
public JT808_0x1210_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x1210 jT808UploadLocationRequest = new JT808_0x1210
{
AlarmId = "11111111111111111111111111111111",
AlarmIdentification = new Metadata.AlarmIdentificationProperty
{
Retain1 = 1,
Retain2=3,
AttachCount = 2,
SN = 3,
TerminalId = "4444444",
Time = Convert.ToDateTime("2019-12-10 18:31:00")
},
AttachInfos = new List<Metadata.AttachProperty> {
new Metadata.AttachProperty{
FileName="filename",
FileSize=9
},
new Metadata.AttachProperty{
FileName="filename1",
FileSize=10
}
},
TerminalId = "4444444",
InfoType = 0
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("34343434343434000000000000000000000000000000000000000000000034343434343434000000000000000000000000000000000000000000000019121018310003020103313131313131313131313131313131313131313131313131313131313131313100020866696C656E616D65000000090966696C656E616D65310000000A", hex);

}

[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x1210>("34343434343434000000000000000000000000000000000000000000000034343434343434000000000000000000000000000000000000000000000019121018310003020103313131313131313131313131313131313131313131313131313131313131313100020866696C656E616D65000000090966696C656E616D65310000000A".ToHexBytes());
Assert.Equal("11111111111111111111111111111111", jT808UploadLocationRequest.AlarmId);
Assert.Equal(2, jT808UploadLocationRequest.AlarmIdentification.AttachCount);
Assert.Equal(3, jT808UploadLocationRequest.AlarmIdentification.SN);
Assert.Equal(1, jT808UploadLocationRequest.AlarmIdentification.Retain1);
Assert.Equal(3, jT808UploadLocationRequest.AlarmIdentification.Retain2);
Assert.Equal("4444444", jT808UploadLocationRequest.AlarmIdentification.TerminalId);
Assert.Equal(Convert.ToDateTime("2019-12-10 18:31:00"), jT808UploadLocationRequest.AlarmIdentification.Time);
Assert.Equal(2, jT808UploadLocationRequest.AttachCount);

Assert.Equal("filename", jT808UploadLocationRequest.AttachInfos[0].FileName);
Assert.Equal(8, jT808UploadLocationRequest.AttachInfos[0].FileNameLength);
Assert.Equal(9u, jT808UploadLocationRequest.AttachInfos[0].FileSize);

Assert.Equal("filename1", jT808UploadLocationRequest.AttachInfos[1].FileName);
Assert.Equal(9, jT808UploadLocationRequest.AttachInfos[1].FileNameLength);
Assert.Equal(10u, jT808UploadLocationRequest.AttachInfos[1].FileSize);

Assert.Equal("4444444", jT808UploadLocationRequest.TerminalId);
Assert.Equal(0, jT808UploadLocationRequest.InfoType);

}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x1210>("34343434343434000000000000000000000000000000000000000000000034343434343434000000000000000000000000000000000000000000000019121018310003020103313131313131313131313131313131313131313131313131313131313131313100020866696C656E616D65000000090966696C656E616D65310000000A".ToHexBytes());
}
}
}

+ 50
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x1211_Test.cs Parādīt failu

@@ -0,0 +1,50 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x1211_Test
{
JT808Serializer JT808Serializer;
public JT808_0x1211_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x1211 jT808UploadLocationRequest = new JT808_0x1211
{
FileName = "FileName",
FileSize = 1,
FileType = 2
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("0846696C654E616D650200000001", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x1211>("0846696C654E616D650200000001".ToHexBytes());
Assert.Equal("FileName", jT808UploadLocationRequest.FileName);
Assert.Equal(1u, jT808UploadLocationRequest.FileSize);
Assert.Equal(2, jT808UploadLocationRequest.FileType);
Assert.Equal("FileName".Length, jT808UploadLocationRequest.FileNameLength);
}

[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x1211>("0846696C654E616D650200000001".ToHexBytes());
}
}
}

+ 49
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x1212_Test.cs Parādīt failu

@@ -0,0 +1,49 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x1212_Test
{
JT808Serializer JT808Serializer;
public JT808_0x1212_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x1212 jT808UploadLocationRequest = new JT808_0x1212
{
FileName = "FileName",
FileSize = 1,
FileType = 2
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("0846696C654E616D650200000001", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x1212>("0846696C654E616D650200000001".ToHexBytes());
Assert.Equal("FileName", jT808UploadLocationRequest.FileName);
Assert.Equal(1u, jT808UploadLocationRequest.FileSize);
Assert.Equal(2, jT808UploadLocationRequest.FileType);
Assert.Equal("FileName".Length, jT808UploadLocationRequest.FileNameLength);
}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x1211>("0846696C654E616D650200000001".ToHexBytes());
}
}
}

+ 52
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x1FC4_Test.cs Parādīt failu

@@ -0,0 +1,52 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x1FC4_Test
{
JT808Serializer JT808Serializer;
public JT808_0x1FC4_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x1FC4 jT808UploadLocationRequest = new JT808_0x1FC4
{
ErrorCode=1,
MsgNum=2,
UpgradeStatus= Enums.JT808UpgradeStatus.固件下载中,
UpgradeType= Protocol.Enums.JT808UpgradeType.北斗卫星定位模块,
UploadProgress=3
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("000234010301", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x1FC4>("000234010301".ToHexBytes());
Assert.Equal(1, jT808UploadLocationRequest.ErrorCode);
Assert.Equal(2, jT808UploadLocationRequest.MsgNum);
Assert.Equal(Enums.JT808UpgradeStatus.固件下载中, jT808UploadLocationRequest.UpgradeStatus);
Assert.Equal(Protocol.Enums.JT808UpgradeType.北斗卫星定位模块, jT808UploadLocationRequest.UpgradeType);
Assert.Equal(3, jT808UploadLocationRequest.UploadProgress);
}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x1FC4>("000234010301".ToHexBytes());
}
}
}

+ 139
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8103_0xF364_Test.cs Parādīt failu

@@ -0,0 +1,139 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x8103_0xF364_Test
{
JT808Serializer JT808Serializer;
public JT808_0x8103_0xF364_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x8103 jT808UploadLocationRequest = new JT808_0x8103
{
ParamList = new List<JT808_0x8103_BodyBase> {
new JT808_0x8103_0xF364{
ActiveDistancePhotographyDistanceInterval=1,
ActivelyTimePhotoInterval=2,
ActivePhotographyStrategy=3,
AlarmEnable=4,
AlarmJudgeSpeedThreshold=5,
AlarmPhotoVehicleCloseDistance=6,
AlarmPhotoVehicleCloseDistanceInterval=7,
BarrierAlarmPhotographs=8,
DistanceThresholdObstacleAlarm=9,
EventEnable=10,
ForwardCollisionAlarmInterval=11,
ForwardCollisionAlarmPhotographs=12,
ForwardCollisionWarningTimeThreshold=13,
FrequentAlarmJudgmentNumberChannelChange=14,
FrequentChannelChangeAlarmJudgmentTimePeriod=15,
FrequentChannelChangeAlarmPhotos=16,
FrequentLaneChangeAlarmInterval=17,
GradedSpeedThresholdLaneDeviationAlarm=18,
HierarchicalSpeedThresholdForwardCollisionWarning=19,
HierarchicalSpeedThresholdFrequentChannelChangeAlarm=20,
HierarchicalSpeedThresholdObstacleAlarm=21,
LaneDepartureAlarmPhoto=22,
LaneDepartureAlarmPhotoInterval=23,
ObstacleAlarmInterval=24,
PedestrianCollisionAlarmEnablingSpeedThreshold=25,
PedestrianCollisionAlarmInterval=26,
PedestrianCollisionAlarmPhotos=27,
PedestrianCollisionAlarmTimeThreshold=28,
PhotoResolution=29,
Placeholder1=30,
Placeholder2=new byte[]{1,2,3,4 },
RoadSignRecognitionPhotographs=32,
RoadSignRecognitionPhotographsInterval=33,
SingleInitiativePhotos=34,
SingleInitiativePhotosInterval=35,
VehicleDistanceMonitoringAlarmDistanceThreshold=36,
VehicleDistanceMonitoringAndAlarmClassificationSpeedThreshold=37,
VideoRecordingResolution=38,
VideoRecordingTimeBeforeAndAfterAlarmVehicleProximity=39,
VideoRecordingTimeBeforeAndAfterForwardCollisionAlarm=40,
VideoRecordingTimeBeforeAndAfterFrequentLaneChangeAlarm=41,
VideoRecordingTimeBeforeAndAfterLaneDepartureAlarm=42,
VideoRecordingTimeBeforeAndAfterObstacleAlarm=43,
VideoRecordingTimeBeforeAndAfterPedestrianCollisionAlarm=44,
WarningVolume=45
}
}
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("010000F36438052D030002000122231D26000000040000000A1E09152B08180F0E14291011122A16170D13280C0B1C192C1B1A2425270607202101020304", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x8103>("010000F36438052D030002000122231D26000000040000000A1E09152B08180F0E14291011122A16170D13280C0B1C192C1B1A2425270607202101020304".ToHexBytes());
JT808_0x8103_0xF364 jT808_0X8103_0XF364 = jT808UploadLocationRequest.ParamList[0] as JT808_0x8103_0xF364;
Assert.Equal(1, jT808_0X8103_0XF364.ActiveDistancePhotographyDistanceInterval);
Assert.Equal(2, jT808_0X8103_0XF364.ActivelyTimePhotoInterval);
Assert.Equal(3, jT808_0X8103_0XF364.ActivePhotographyStrategy);
Assert.Equal(4u, jT808_0X8103_0XF364.AlarmEnable);
Assert.Equal(5, jT808_0X8103_0XF364.AlarmJudgeSpeedThreshold);
Assert.Equal(6, jT808_0X8103_0XF364.AlarmPhotoVehicleCloseDistance);
Assert.Equal(7, jT808_0X8103_0XF364.AlarmPhotoVehicleCloseDistanceInterval);
Assert.Equal(8, jT808_0X8103_0XF364.BarrierAlarmPhotographs);
Assert.Equal(9, jT808_0X8103_0XF364.DistanceThresholdObstacleAlarm);
Assert.Equal(10u, jT808_0X8103_0XF364.EventEnable);
Assert.Equal(11, jT808_0X8103_0XF364.ForwardCollisionAlarmInterval);
Assert.Equal(12, jT808_0X8103_0XF364.ForwardCollisionAlarmPhotographs);
Assert.Equal(13, jT808_0X8103_0XF364.ForwardCollisionWarningTimeThreshold);
Assert.Equal(14, jT808_0X8103_0XF364.FrequentAlarmJudgmentNumberChannelChange);
Assert.Equal(15, jT808_0X8103_0XF364.FrequentChannelChangeAlarmJudgmentTimePeriod);
Assert.Equal(16, jT808_0X8103_0XF364.FrequentChannelChangeAlarmPhotos);
Assert.Equal(17, jT808_0X8103_0XF364.FrequentLaneChangeAlarmInterval);
Assert.Equal(18, jT808_0X8103_0XF364.GradedSpeedThresholdLaneDeviationAlarm);
Assert.Equal(19, jT808_0X8103_0XF364.HierarchicalSpeedThresholdForwardCollisionWarning);
Assert.Equal(20, jT808_0X8103_0XF364.HierarchicalSpeedThresholdFrequentChannelChangeAlarm);
Assert.Equal(21, jT808_0X8103_0XF364.HierarchicalSpeedThresholdObstacleAlarm);
Assert.Equal(22, jT808_0X8103_0XF364.LaneDepartureAlarmPhoto);
Assert.Equal(23, jT808_0X8103_0XF364.LaneDepartureAlarmPhotoInterval);
Assert.Equal(24, jT808_0X8103_0XF364.ObstacleAlarmInterval);
Assert.Equal(25, jT808_0X8103_0XF364.PedestrianCollisionAlarmEnablingSpeedThreshold);
Assert.Equal(26, jT808_0X8103_0XF364.PedestrianCollisionAlarmInterval);
Assert.Equal(27, jT808_0X8103_0XF364.PedestrianCollisionAlarmPhotos);
Assert.Equal(28, jT808_0X8103_0XF364.PedestrianCollisionAlarmTimeThreshold);
Assert.Equal(29, jT808_0X8103_0XF364.PhotoResolution);
Assert.Equal(30, jT808_0X8103_0XF364.Placeholder1);
Assert.Equal(new byte[] { 1, 2, 3, 4 }.ToHexString(), jT808_0X8103_0XF364.Placeholder2.ToHexString());
Assert.Equal(32, jT808_0X8103_0XF364.RoadSignRecognitionPhotographs);
Assert.Equal(33, jT808_0X8103_0XF364.RoadSignRecognitionPhotographsInterval);
Assert.Equal(34, jT808_0X8103_0XF364.SingleInitiativePhotos);
Assert.Equal(35, jT808_0X8103_0XF364.SingleInitiativePhotosInterval);
Assert.Equal(36, jT808_0X8103_0XF364.VehicleDistanceMonitoringAlarmDistanceThreshold);
Assert.Equal(37, jT808_0X8103_0XF364.VehicleDistanceMonitoringAndAlarmClassificationSpeedThreshold);
Assert.Equal(38, jT808_0X8103_0XF364.VideoRecordingResolution);
Assert.Equal(39, jT808_0X8103_0XF364.VideoRecordingTimeBeforeAndAfterAlarmVehicleProximity);
Assert.Equal(40, jT808_0X8103_0XF364.VideoRecordingTimeBeforeAndAfterForwardCollisionAlarm);
Assert.Equal(41, jT808_0X8103_0XF364.VideoRecordingTimeBeforeAndAfterFrequentLaneChangeAlarm);
Assert.Equal(42, jT808_0X8103_0XF364.VideoRecordingTimeBeforeAndAfterLaneDepartureAlarm);
Assert.Equal(43, jT808_0X8103_0XF364.VideoRecordingTimeBeforeAndAfterObstacleAlarm);
Assert.Equal(44, jT808_0X8103_0XF364.VideoRecordingTimeBeforeAndAfterPedestrianCollisionAlarm);
Assert.Equal(45, jT808_0X8103_0XF364.WarningVolume);
Assert.Equal(JT808_YueBiao_Constants.JT808_0X8103_0xF364, jT808_0X8103_0XF364.ParamId);
}

[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x8103>("010000F36438052D030002000122231D26000000040000000A1E09152B08180F0E14291011122A16170D13280C0B1C192C1B1A2425270607202101020304".ToHexBytes());
}
}
}

+ 116
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8103_0xF365_Test.cs Parādīt failu

@@ -0,0 +1,116 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x8103_0xF365_Test
{
JT808Serializer JT808Serializer;
public JT808_0x8103_0xF365_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x8103 jT808UploadLocationRequest = new JT808_0x8103
{
ParamList = new List<JT808_0x8103_BodyBase> {
new JT808_0x8103_0xF365{
ActiveDistancePhotographyDistanceInterval=1,
ActivelyTimePhotoInterval=2,
ActivePhotographyStrategy=3,
AlarmEnable=4,
AlarmJudgeSpeedThreshold=5,
EventEnable=10,
PhotoResolution=29,
SingleInitiativePhotos=34,
SingleInitiativePhotosInterval=35,
VideoRecordingResolution=38,
WarningVolume=45,
CallAlarmDetermineTimeInterval=46,
CallAlarmTakePicturesDriverFacialFeatures=47,
CallAlarmTakePicturesDriverFacialFeaturesInterval=48,
ClassifiedSpeedThresholdCallAlarm=49,
ClassifiedSpeedThresholdDistractedDrivingAlarm=50,
ClassifiedSpeedThresholdSmokingAlarm=51,
DistractedDrivingAlarmPhotography=52,
DistractedDrivingAlarmPhotographyInterval=53,
DriverIdentificationTrigger=54,
FatigueDrivingAlarmPhotograph=55,
FatigueDrivingAlarmPhotographInterval=56,
GradedSpeedThresholdFatigueDrivingAlarm=57,
PhotographsAbnormalDrivingBehavior=58,
PictureIntervalAbnormalDrivingBehavior=59,
Reserve=new byte[]{1,2,3 },
Retain=new byte[]{5,6 },
SmokingAlarmPhotographsDriverFaceCharacteristics=60,
SmokingAlarmPhotographsDriverFaceCharacteristicsInterval=61,
TimeIntervalSmokingAlarmJudgment=62,
VideoRecordingTimeAbnormalDrivingBehavior=63,
VideoRecordingTimeBeforeAndAfterCallAlarm=64,
VideoRecordingTimeBeforeAndAfterFatigueDrivingAlarm=65,
VideoRecordingTimeBeforeAndAfterSmokingAlarm=66
}
}
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("010000F3652F052D030002000122231D26000000040000000A003E002E0102033941373831402F3033423C3D3234353F3A3B360506", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x8103>("010000F3652F052D030002000122231D26000000040000000A003E002E0102033941373831402F3033423C3D3234353F3A3B360506".ToHexBytes());
JT808_0x8103_0xF365 jT808_0X8103_0XF365 = jT808UploadLocationRequest.ParamList[0] as JT808_0x8103_0xF365;
Assert.Equal(1, jT808_0X8103_0XF365.ActiveDistancePhotographyDistanceInterval);
Assert.Equal(2, jT808_0X8103_0XF365.ActivelyTimePhotoInterval);
Assert.Equal(3, jT808_0X8103_0XF365.ActivePhotographyStrategy);
Assert.Equal(4u, jT808_0X8103_0XF365.AlarmEnable);
Assert.Equal(5, jT808_0X8103_0XF365.AlarmJudgeSpeedThreshold);
Assert.Equal(10u, jT808_0X8103_0XF365.EventEnable);
Assert.Equal(29, jT808_0X8103_0XF365.PhotoResolution);
Assert.Equal(34, jT808_0X8103_0XF365.SingleInitiativePhotos);
Assert.Equal(35, jT808_0X8103_0XF365.SingleInitiativePhotosInterval);
Assert.Equal(38, jT808_0X8103_0XF365.VideoRecordingResolution);
Assert.Equal(45, jT808_0X8103_0XF365.WarningVolume);
Assert.Equal(46, jT808_0X8103_0XF365.CallAlarmDetermineTimeInterval);
Assert.Equal(47, jT808_0X8103_0XF365.CallAlarmTakePicturesDriverFacialFeatures);
Assert.Equal(48, jT808_0X8103_0XF365.CallAlarmTakePicturesDriverFacialFeaturesInterval);
Assert.Equal(49, jT808_0X8103_0XF365.ClassifiedSpeedThresholdCallAlarm);
Assert.Equal(50, jT808_0X8103_0XF365.ClassifiedSpeedThresholdDistractedDrivingAlarm);
Assert.Equal(51, jT808_0X8103_0XF365.ClassifiedSpeedThresholdSmokingAlarm);
Assert.Equal(52, jT808_0X8103_0XF365.DistractedDrivingAlarmPhotography);
Assert.Equal(53, jT808_0X8103_0XF365.DistractedDrivingAlarmPhotographyInterval);
Assert.Equal(54, jT808_0X8103_0XF365.DriverIdentificationTrigger);
Assert.Equal(55, jT808_0X8103_0XF365.FatigueDrivingAlarmPhotograph);
Assert.Equal(56, jT808_0X8103_0XF365.FatigueDrivingAlarmPhotographInterval);
Assert.Equal(57, jT808_0X8103_0XF365.GradedSpeedThresholdFatigueDrivingAlarm);
Assert.Equal(58, jT808_0X8103_0XF365.PhotographsAbnormalDrivingBehavior);
Assert.Equal(59, jT808_0X8103_0XF365.PictureIntervalAbnormalDrivingBehavior);
Assert.Equal(new byte[] { 1, 2, 3 }.ToHexString(), jT808_0X8103_0XF365.Reserve.ToHexString());
Assert.Equal(new byte[] { 5, 6 }.ToHexString(), jT808_0X8103_0XF365.Retain.ToHexString());
Assert.Equal(60, jT808_0X8103_0XF365.SmokingAlarmPhotographsDriverFaceCharacteristics);
Assert.Equal(61, jT808_0X8103_0XF365.SmokingAlarmPhotographsDriverFaceCharacteristicsInterval);
Assert.Equal(62, jT808_0X8103_0XF365.TimeIntervalSmokingAlarmJudgment);
Assert.Equal(63, jT808_0X8103_0XF365.VideoRecordingTimeAbnormalDrivingBehavior);
Assert.Equal(64, jT808_0X8103_0XF365.VideoRecordingTimeBeforeAndAfterCallAlarm);
Assert.Equal(65, jT808_0X8103_0XF365.VideoRecordingTimeBeforeAndAfterFatigueDrivingAlarm);
Assert.Equal(66, jT808_0X8103_0XF365.VideoRecordingTimeBeforeAndAfterSmokingAlarm);
Assert.Equal(JT808_YueBiao_Constants.JT808_0X8103_0xF365, jT808_0X8103_0XF365.ParamId);
}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x8103>("010000F3652F052D030002000122231D26000000040000000A003E002E0102033941373831402F3033423C3D3234353F3A3B360506".ToHexBytes());
}
}
}

+ 69
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8103_0xF366_Test.cs Parādīt failu

@@ -0,0 +1,69 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x8103_0xF366_Test
{
JT808Serializer JT808Serializer;
public JT808_0x8103_0xF366_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x8103 jT808UploadLocationRequest = new JT808_0x8103
{
ParamList = new List<JT808_0x8103_BodyBase> {
new JT808_0x8103_0xF366{
HighTemperatureThreshold=1,
HighVoltageThreshold=2,
LowVoltageThreshold=3,
NormalFetalPressure=4,
Retain=new byte[]{1,2,3,4,5,6 },
SlowLeakageThreshold=5,
ThresholdUnbalancedTirePressure=6,
TimedReportingInterval=7,
TyrePressureUnit=8,
TyreSpecificationType="999999999999",
VoltageThreshold=10
}
}
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("010000F366243939393939393939393939390008000400060005000300020001000A0007010203040506", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x8103>("010000F366243939393939393939393939390008000400060005000300020001000A0007010203040506".ToHexBytes());
JT808_0x8103_0xF366 jT808_0x8103_0xF366 = jT808UploadLocationRequest.ParamList[0] as JT808_0x8103_0xF366;
Assert.Equal(1, jT808_0x8103_0xF366.HighTemperatureThreshold);
Assert.Equal(2, jT808_0x8103_0xF366.HighVoltageThreshold);
Assert.Equal(3, jT808_0x8103_0xF366.LowVoltageThreshold);
Assert.Equal(4, jT808_0x8103_0xF366.NormalFetalPressure);
Assert.Equal(new byte[] { 1, 2, 3, 4, 5, 6 }.ToHexString(), jT808_0x8103_0xF366.Retain.ToHexString());
Assert.Equal(5, jT808_0x8103_0xF366.SlowLeakageThreshold);
Assert.Equal(6, jT808_0x8103_0xF366.ThresholdUnbalancedTirePressure);
Assert.Equal(7, jT808_0x8103_0xF366.TimedReportingInterval);
Assert.Equal(8, jT808_0x8103_0xF366.TyrePressureUnit);
Assert.Equal("999999999999", jT808_0x8103_0xF366.TyreSpecificationType);
Assert.Equal(10, jT808_0x8103_0xF366.VoltageThreshold);
}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x8103>("010000F366243939393939393939393939390008000400060005000300020001000A0007010203040506".ToHexBytes());
}
}
}

+ 51
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8103_0xF367_Test.cs Parādīt failu

@@ -0,0 +1,51 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x8103_0xF367_Test
{
JT808Serializer JT808Serializer;
public JT808_0x8103_0xF367_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x8103 jT808UploadLocationRequest = new JT808_0x8103
{
ParamList = new List<JT808_0x8103_BodyBase> {
new JT808_0x8103_0xF367{
LateralRearApproachAlarmTimeThreshold=1,
RearApproachAlarmTimeThreshold=2
}
}
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("010000F367020201", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x8103>("010000F367020201".ToHexBytes());
JT808_0x8103_0xF367 jT808_0x8103_0xF367 = jT808UploadLocationRequest.ParamList[0] as JT808_0x8103_0xF367;
Assert.Equal(1, jT808_0x8103_0xF367.LateralRearApproachAlarmTimeThreshold);
Assert.Equal(2, jT808_0x8103_0xF367.RearApproachAlarmTimeThreshold);
}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x8103>("010000F367020201".ToHexBytes());
}
}
}

+ 46
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8900_0xF7_Test.cs Parādīt failu

@@ -0,0 +1,46 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x8900_0xF7_Test
{
JT808Serializer JT808Serializer;
public JT808_0x8900_0xF7_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x8900_0xF7 jT808UploadLocationRequest = new JT808_0x8900_0xF7
{
USBCount = 2,
MultipleUSB = new List<byte> { 1, 2 }
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("020102", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x8900_0xF7>("020102".ToHexBytes());
Assert.Equal(2, jT808UploadLocationRequest.USBCount);
Assert.Equal(new List<byte> { 1, 2 }.ToArray().ToHexString(), jT808UploadLocationRequest.MultipleUSB.ToArray().ToHexString());
}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x8900_0xF7>("020102".ToHexBytes());
}
}
}

+ 46
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x8900_0xF8_Test.cs Parādīt failu

@@ -0,0 +1,46 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x8900_0xF8_Test
{
JT808Serializer JT808Serializer;
public JT808_0x8900_0xF8_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x8900_0xF8 jT808UploadLocationRequest = new JT808_0x8900_0xF8
{
USBCount = 2,
MultipleUSB = new List<byte> { 1, 2 }
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("020102", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x8900_0xF8>("020102".ToHexBytes());
Assert.Equal(2, jT808UploadLocationRequest.USBCount);
Assert.Equal(new List<byte> { 1, 2 }.ToArray().ToHexString(), jT808UploadLocationRequest.MultipleUSB.ToArray().ToHexString());
}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x8900_0xF8>("020102".ToHexBytes());
}
}
}

+ 67
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x9208_Test.cs Parādīt failu

@@ -0,0 +1,67 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x9208_Test
{
JT808Serializer JT808Serializer;
public JT808_0x9208_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x9208 jT808UploadLocationRequest = new JT808_0x9208
{
AlarmId = "11111111111111111111111111111111",
AlarmIdentification = new Metadata.AlarmIdentificationProperty
{
Retain1 = 1,
Retain2=3,
AttachCount = 2,
SN = 3,
TerminalId = "4444444",
Time = Convert.ToDateTime("2019-12-10 18:31:00")
},
AttachmentServerIP = "192.168.1.1",
AttachmentServerIPTcpPort = 5000,
AttachmentServerIPUdpPort = 5001
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("0B3139322E3136382E312E311388138934343434343434000000000000000000000000000000000000000000000019121018310003020103313131313131313131313131313131313131313131313131313131313131313100000000000000000000000000000000", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x9208>("0B3139322E3136382E312E311388138934343434343434000000000000000000000000000000000000000000000019121018310003020103313131313131313131313131313131313131313131313131313131313131313100000000000000000000000000000000".ToHexBytes());
Assert.Equal("11111111111111111111111111111111", jT808UploadLocationRequest.AlarmId);
Assert.Equal(1, jT808UploadLocationRequest.AlarmIdentification.Retain1);
Assert.Equal(3, jT808UploadLocationRequest.AlarmIdentification.Retain2);
Assert.Equal(2, jT808UploadLocationRequest.AlarmIdentification.AttachCount);
Assert.Equal(3, jT808UploadLocationRequest.AlarmIdentification.SN);
Assert.Equal("4444444", jT808UploadLocationRequest.AlarmIdentification.TerminalId);
Assert.Equal(Convert.ToDateTime("2019-12-10 18:31:00"), jT808UploadLocationRequest.AlarmIdentification.Time);
Assert.Equal("192.168.1.1", jT808UploadLocationRequest.AttachmentServerIP);
Assert.Equal("192.168.1.1".Length, jT808UploadLocationRequest.AttachmentServerIPLength);
Assert.Equal(5000, jT808UploadLocationRequest.AttachmentServerIPTcpPort);
Assert.Equal(5001, jT808UploadLocationRequest.AttachmentServerIPUdpPort);
}

[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x9208>("0B3139322E3136382E312E311388138934343434343434000000000000000000000000000000000000000000000019121018310003020103313131313131313131313131313131313131313131313131313131313131313100000000000000000000000000000000".ToHexBytes());
}
}
}

+ 67
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x9212_Test.cs Parādīt failu

@@ -0,0 +1,67 @@
using JT808.Protocol.Extensions.YueBiao.MessageBody;
using JT808.Protocol.Extensions.YueBiao.Metadata;
using JT808.Protocol.MessageBody;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class JT808_0x9212_Test
{
JT808Serializer JT808Serializer;
public JT808_0x9212_Test()
{
ServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure()
.AddYueBiaoConfigure();
IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService<IJT808Config>();
JT808Serializer = new JT808Serializer(jT808Config);
}
[Fact]
public void Serializer()
{
JT808_0x9212 jT808UploadLocationRequest = new JT808_0x9212
{
DataPackageCount = 2,
DataPackages = new List<Metadata.DataPackageProperty> {
new Metadata.DataPackageProperty{
Length=10,
Offset=20
},
new Metadata.DataPackageProperty{
Length=30,
Offset=40
}
},
FileName = "FileName",
FileType = 1,
UploadResult = 2
};
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("0846696C654E616D65010202000000140000000A000000280000001E", hex);
}
[Fact]
public void Deserialize()
{
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x9212>("0846696C654E616D65010202000000140000000A000000280000001E".ToHexBytes());
Assert.Equal(2, jT808UploadLocationRequest.DataPackageCount);
Assert.Equal("FileName", jT808UploadLocationRequest.FileName);
Assert.Equal(1, jT808UploadLocationRequest.FileType);
Assert.Equal(2, jT808UploadLocationRequest.UploadResult);

Assert.Equal(10u, jT808UploadLocationRequest.DataPackages[0].Length);
Assert.Equal(20u, jT808UploadLocationRequest.DataPackages[0].Offset);

Assert.Equal(30u, jT808UploadLocationRequest.DataPackages[1].Length);
Assert.Equal(40u, jT808UploadLocationRequest.DataPackages[1].Offset);
}
[Fact]
public void Json()
{
var json = JT808Serializer.Analyze<JT808_0x9212>("0846696C654E616D65010202000000140000000A000000280000001E".ToHexBytes());
}
}
}


+ 0
- 14
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/UnitTest1.cs Parādīt failu

@@ -1,14 +0,0 @@
using System;
using Xunit;

namespace JT808.Protocol.Extensions.YueBiao.Test
{
public class UnitTest1
{
[Fact]
public void Test1()
{

}
}
}

Notiek ielāde…
Atcelt
Saglabāt