@@ -0,0 +1,23 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | |||||
<PropertyGroup> | |||||
<TargetFramework>netcoreapp2.2</TargetFramework> | |||||
<IsPackable>false</IsPackable> | |||||
</PropertyGroup> | |||||
<ItemGroup> | |||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="2.2.0" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" /> | |||||
<PackageReference Include="xunit" Version="2.4.1" /> | |||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1"> | |||||
<PrivateAssets>all</PrivateAssets> | |||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | |||||
</PackageReference> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<ProjectReference Include="..\JTTools\JTTools.csproj" /> | |||||
</ItemGroup> | |||||
</Project> |
@@ -0,0 +1,55 @@ | |||||
using JT808.Protocol; | |||||
using JT808.Protocol.Extensions.JT1078; | |||||
using JT809.Protocol; | |||||
using JT809.Protocol.Configs; | |||||
using JT809.Protocol.Enums; | |||||
using JT809.Protocol.Extensions.JT1078; | |||||
using JT809.Protocol.MessageBody; | |||||
using JTTools.Controllers; | |||||
using JTTools.Dtos; | |||||
using Microsoft.Extensions.DependencyInjection; | |||||
using System; | |||||
using Xunit; | |||||
namespace JTTools.Test | |||||
{ | |||||
public class JTToolsControllerTest | |||||
{ | |||||
IServiceCollection serviceDescriptors = new ServiceCollection(); | |||||
private readonly JTToolsController jTToolsController; | |||||
public JTToolsControllerTest() | |||||
{ | |||||
serviceDescriptors.AddJT808Configure() | |||||
.AddJT1078Configure(); | |||||
serviceDescriptors.AddJT809Configure() | |||||
.AddJT1078Configure(); | |||||
serviceDescriptors.AddSingleton<JTToolsController>(); | |||||
IServiceProvider ServiceProvider = serviceDescriptors.BuildServiceProvider(); | |||||
jTToolsController = ServiceProvider.GetRequiredService<JTToolsController>(); | |||||
} | |||||
[Fact] | |||||
public void Parse809Test1() | |||||
{ | |||||
var result=jTToolsController.Parse809(new JT809RequestDto() | |||||
{ | |||||
IsEncrypt=true, | |||||
EncryptOptions=new JT809EncryptOptions | |||||
{ | |||||
IA1= 96135846, | |||||
IC1= 30000000, | |||||
M1 = 10000079 | |||||
}, | |||||
HexData= "5B 00 00 00 73 00 00 17 3B 12 00 02 A2 49 7F 01 02 0F 01 00 00 00 01 AC 84 2A 2C 11 20 47 CA 38 E1 DD 75 BE EE F8 03 D5 7A B8 17 C7 C0 43 3C D0 85 6D 94 EA E0 00 5A 01 23 68 A6 D6 DB A1 0B 49 F6 CB 74 C6 61 F6 D6 6A 80 C4 D2 B1 10 40 AE 48 7E 96 3A 8D 0F ED 7A 1B 2D 82 00 41 B9 BE 0A E7 8C D6 AB 7D B7 79 2E 8A 7F 17 AE B8 0A 9F AE AA A2 75 A4 5D" | |||||
}); | |||||
JT809Package package = (JT809Package)result.Value.Data; | |||||
JT809_0x1200 jT809_0X1200 = (JT809_0x1200)package.Bodies; | |||||
Assert.Equal(44190079u, package.Header.MsgGNSSCENTERID); | |||||
Assert.Equal(30116, package.CRCCode); | |||||
Assert.Equal("ÔÁSEB408²â", jT809_0X1200.VehicleNo); | |||||
Assert.Equal(JT809VehicleColorType.»ÆÉ«, jT809_0X1200.VehicleColor); | |||||
} | |||||
} | |||||
} |
@@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 | |||||
# Visual Studio Version 16 | # Visual Studio Version 16 | ||||
VisualStudioVersion = 16.0.29123.88 | VisualStudioVersion = 16.0.29123.88 | ||||
MinimumVisualStudioVersion = 10.0.40219.1 | MinimumVisualStudioVersion = 10.0.40219.1 | ||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JTTools", "JTTools\JTTools.csproj", "{4F7C65A6-85D2-4F32-AC00-B43D2C296618}" | |||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JTTools", "JTTools\JTTools.csproj", "{4F7C65A6-85D2-4F32-AC00-B43D2C296618}" | |||||
EndProject | |||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JTTools.Test", "JTTools.Test\JTTools.Test.csproj", "{4D721C46-A6A2-45F9-8934-CDEED97F3FC5}" | |||||
EndProject | EndProject | ||||
Global | Global | ||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||
@@ -15,6 +17,10 @@ Global | |||||
{4F7C65A6-85D2-4F32-AC00-B43D2C296618}.Debug|Any CPU.Build.0 = Debug|Any CPU | {4F7C65A6-85D2-4F32-AC00-B43D2C296618}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{4F7C65A6-85D2-4F32-AC00-B43D2C296618}.Release|Any CPU.ActiveCfg = Release|Any CPU | {4F7C65A6-85D2-4F32-AC00-B43D2C296618}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
{4F7C65A6-85D2-4F32-AC00-B43D2C296618}.Release|Any CPU.Build.0 = Release|Any CPU | {4F7C65A6-85D2-4F32-AC00-B43D2C296618}.Release|Any CPU.Build.0 = Release|Any CPU | ||||
{4D721C46-A6A2-45F9-8934-CDEED97F3FC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||||
{4D721C46-A6A2-45F9-8934-CDEED97F3FC5}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||||
{4D721C46-A6A2-45F9-8934-CDEED97F3FC5}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||||
{4D721C46-A6A2-45F9-8934-CDEED97F3FC5}.Release|Any CPU.Build.0 = Release|Any CPU | |||||
EndGlobalSection | EndGlobalSection | ||||
GlobalSection(SolutionProperties) = preSolution | GlobalSection(SolutionProperties) = preSolution | ||||
HideSolutionNode = FALSE | HideSolutionNode = FALSE | ||||
@@ -2,7 +2,7 @@ | |||||
"name": "jttools", | "name": "jttools", | ||||
"version": "1.0.0", | "version": "1.0.0", | ||||
"description": "A Vue.js project", | "description": "A Vue.js project", | ||||
"author": "SmallChi <564952747@qq.com>", | |||||
"author": "SmallChi", | |||||
"private": true, | "private": true, | ||||
"scripts": { | "scripts": { | ||||
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", | "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", | ||||