瀏覽代碼

添加jt808json测试

tags/v2.2.6
waterliu99 5 年之前
父節點
當前提交
bc7db435d5
共有 12 個檔案被更改,包括 72 行新增12 行删除
  1. +26
    -8
      src/JT808.Protocol.Test/MessageBody/JT808_0x8800Test.cs
  2. +6
    -0
      src/JT808.Protocol.Test/MessageBody/JT808_0x8801Test.cs
  3. +6
    -0
      src/JT808.Protocol.Test/MessageBody/JT808_0x8802Test.cs
  4. +6
    -0
      src/JT808.Protocol.Test/MessageBody/JT808_0x8803Test.cs
  5. +6
    -0
      src/JT808.Protocol.Test/MessageBody/JT808_0x8804Test.cs
  6. +6
    -0
      src/JT808.Protocol.Test/MessageBody/JT808_0x8805Test.cs
  7. +6
    -0
      src/JT808.Protocol.Test/MessageBody/JT808_0x8900Test.cs
  8. +6
    -0
      src/JT808.Protocol.Test/MessageBody/JT808_0x8A00Test.cs
  9. +1
    -1
      src/JT808.Protocol/Extensions/JT808HexExtensions.cs
  10. +1
    -1
      src/JT808.Protocol/MessageBody/JT808_0x8800.cs
  11. +1
    -1
      src/JT808.Protocol/MessageBody/JT808_0x8805.cs
  12. +1
    -1
      src/JT808.Protocol/MessageBody/JT808_0x8A00.cs

+ 26
- 8
src/JT808.Protocol.Test/MessageBody/JT808_0x8800Test.cs 查看文件

@@ -1,4 +1,5 @@
using JT808.Protocol.Extensions;
using JT808.Protocol.Enums;
using JT808.Protocol.Extensions;
using JT808.Protocol.MessageBody;
using Xunit;

@@ -10,23 +11,40 @@ namespace JT808.Protocol.Test.MessageBody
[Fact]
public void Test1()
{
JT808_0x8800 jT808_0X8800 = new JT808_0x8800
JT808Package jT808Package = new JT808Package
{
MultimediaId = 129,
RetransmitPackageIds = new byte[] { 0x01, 0x02, 0x03, 0x04 }
Header = new JT808Header
{
MsgId= (ushort)JT808MsgId.多媒体数据上传应答,
TerminalPhoneNo="123456789",
},
Bodies = new JT808_0x8800
{
MultimediaId = 129,
RetransmitPackageIds = new byte[] { 0x01, 0x02, 0x03, 0x04 }
}

};
string hex = JT808Serializer.Serialize(jT808_0X8800).ToHexString();
Assert.Equal("000000810201020304", hex);
string hex = JT808Serializer.Serialize(jT808Package).ToHexString();
Assert.Equal("7E8800000900012345678900010000008102010203048E7E", hex);
}

[Fact]
public void Test2()
{
byte[] bytes = "000000810201020304".ToHexBytes();
JT808_0x8800 jT808_0X8800 = JT808Serializer.Deserialize<JT808_0x8800>(bytes);
byte[] bytes = "7E8800000900012345678900010000008102010203048E7E".ToHexBytes();
var jt808Package = JT808Serializer.Deserialize<JT808Package>(bytes);
JT808_0x8800 jT808_0X8800 = jt808Package.Bodies as JT808_0x8800;
Assert.Equal((uint)129, jT808_0X8800.MultimediaId);
Assert.Equal(2, jT808_0X8800.RetransmitPackageCount);
Assert.Equal(new byte[] { 0x01, 0x02, 0x03, 0x04 }, jT808_0X8800.RetransmitPackageIds);
}

[Fact]
public void Test3()
{
byte[] bytes = "7E8800000900012345678900010000008102010203048E7E".ToHexBytes();
string json = JT808Serializer.Analyze<JT808Package>(bytes);
}
}
}

+ 6
- 0
src/JT808.Protocol.Test/MessageBody/JT808_0x8801Test.cs 查看文件

@@ -43,5 +43,11 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal(9, jT808_0X8801.VideoQuality);
Assert.Equal(2686, jT808_0X8801.VideoTime);
}
[Fact]
public void Test3()
{
byte[] bytes = "8000000A7E010809EB7E78F5".ToHexBytes();
string json = JT808Serializer.Analyze<JT808_0x8801>(bytes);
}
}
}

+ 6
- 0
src/JT808.Protocol.Test/MessageBody/JT808_0x8802Test.cs 查看文件

@@ -35,5 +35,11 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal(DateTime.Parse("2018-11-16 21:00:08"), jT808_0X8802.StartTime);
Assert.Equal(DateTime.Parse("2018-11-16 22:00:08"), jT808_0X8802.EndTime);
}
[Fact]
public void Test3()
{
byte[] bytes = "027B03181116210008181116220008".ToHexBytes();
string json = JT808Serializer.Analyze<JT808_0x8802>(bytes);
}
}
}

+ 6
- 0
src/JT808.Protocol.Test/MessageBody/JT808_0x8803Test.cs 查看文件

@@ -37,5 +37,11 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal(DateTime.Parse("2018-11-16 22:00:21"), jT808_0X8803.StartTime);
Assert.Equal(DateTime.Parse("2018-11-16 23:00:21"), jT808_0X8803.EndTime);
}
[Fact]
public void Test3()
{
byte[] bytes = "00800018111622002118111623002101".ToHexBytes();
string json = JT808Serializer.Analyze<JT808_0x8803>(bytes);
}
}
}

+ 6
- 0
src/JT808.Protocol.Test/MessageBody/JT808_0x8804Test.cs 查看文件

@@ -33,5 +33,11 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal(JT808RecordSave.实时上传, jT808_0X8804.RecordSave);
Assert.Equal(1, jT808_0X8804.AudioSampleRate);
}
[Fact]
public void Test3()
{
byte[] bytes = "00001E0001".ToHexBytes();
string json = JT808Serializer.Analyze<JT808_0x8804>(bytes);
}
}
}

+ 6
- 0
src/JT808.Protocol.Test/MessageBody/JT808_0x8805Test.cs 查看文件

@@ -27,5 +27,11 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal(Enums.JT808MultimediaDeleted.保留.ToByteValue(), jT808_0X8805.MultimediaDeleted);
Assert.Equal((uint)10000, jT808_0X8805.MultimediaId);
}
[Fact]
public void Test3()
{
byte[] bytes = "0000271000".ToHexBytes();
string json = JT808Serializer.Analyze<JT808_0x8805>(bytes);
}
}
}

+ 6
- 0
src/JT808.Protocol.Test/MessageBody/JT808_0x8900Test.cs 查看文件

@@ -44,5 +44,11 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal((uint)12345, jT808_0X8900_Test_BodiesImpl.Id);
Assert.Equal(0x01, jT808_0X8900_Test_BodiesImpl.Sex);
}
[Fact]
public void Test3()
{
byte[] bytes = "0B0000303901".ToHexBytes();
string json = JT808Serializer.Analyze<JT808_0x8900>(bytes);
}
}
}

+ 6
- 0
src/JT808.Protocol.Test/MessageBody/JT808_0x8A00Test.cs 查看文件

@@ -36,5 +36,11 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal((uint)128, jT808_0X8A00.E);
Assert.Equal(N, jT808_0X8A00.N);
}
[Fact]
public void Test3()
{
byte[] bytes = "00000080000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F".ToHexBytes();
string json = JT808Serializer.Analyze<JT808_0x8A00>(bytes);
}
}
}

+ 1
- 1
src/JT808.Protocol/Extensions/JT808HexExtensions.cs 查看文件

@@ -71,7 +71,7 @@ namespace JT808.Protocol.Extensions
return hex;
}

public static string ReadNumber(this byte value, string format = "X1")
public static string ReadNumber(this byte value, string format = "X2")
{
return value.ToString(format);
}


+ 1
- 1
src/JT808.Protocol/MessageBody/JT808_0x8800.cs 查看文件

@@ -59,7 +59,7 @@ namespace JT808.Protocol.MessageBody
ReadOnlySpan<byte> tmp = value.RetransmitPackageIds;
for(int i=0; i< value.RetransmitPackageCount; i++)
{
writer.WriteString($"ID{i+1}", tmp.Slice(i * 2, 2).ToArray().ToHexString());
writer.WriteStringValue($"{tmp.Slice(i*2 , 2).ToArray().ToHexString()}");
}
writer.WriteEndArray();
}


+ 1
- 1
src/JT808.Protocol/MessageBody/JT808_0x8805.cs 查看文件

@@ -43,7 +43,7 @@ namespace JT808.Protocol.MessageBody
jT808_0X8805.MultimediaId = reader.ReadUInt32();
jT808_0X8805.MultimediaDeleted = reader.ReadByte();
writer.WriteNumber($"[{jT808_0X8805.MultimediaId.ReadNumber()}]多媒体ID", jT808_0X8805.MultimediaId);
writer.WriteNumber($"[{jT808_0X8805.MultimediaId.ReadNumber()}]删除标志", jT808_0X8805.MultimediaDeleted);
writer.WriteNumber($"[{jT808_0X8805.MultimediaDeleted.ReadNumber()}]删除标志", jT808_0X8805.MultimediaDeleted);
}
}
}

+ 1
- 1
src/JT808.Protocol/MessageBody/JT808_0x8A00.cs 查看文件

@@ -50,7 +50,7 @@ namespace JT808.Protocol.MessageBody
jT808_0X8A00.E = reader.ReadUInt32();
jT808_0X8A00.N = reader.ReadArray(128).ToArray();
writer.WriteNumber($"[{jT808_0X8A00.E.ReadNumber()}]RSA公钥e", jT808_0X8A00.E);
writer.WriteString($"RSA公钥n", jT808_0X8A00.N.ToHexString());
writer.WriteString($"RSA公钥N", jT808_0X8A00.N.ToHexString());
}
}
}

Loading…
取消
儲存