mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-05 22:01:33 +00:00
Libraries
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
This commit is contained in:
@@ -8,20 +8,14 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\SabreTools.Serialization\SabreTools.Serialization.csproj" />
|
<PackageReference Include="coverlet.collector" Version="8.0.1" />
|
||||||
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
|
||||||
|
<PackageReference Include="xunit" Version="2.9.3" />
|
||||||
|
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="coverlet.collector" Version="8.0.0">
|
<ProjectReference Include="..\SabreTools.Data.Extensions\SabreTools.Data.Extensions.csproj" />
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
|
|
||||||
<PackageReference Include="xunit" Version="2.9.3" />
|
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
</PackageReference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
@@ -13,7 +13,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_EOC()
|
public void Format_EOC()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_EOC";
|
string expected = "Type: V_ASN1_EOC";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_EOC, Length = 0, Value = null };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_EOC, Length = 0, Value = null };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -22,7 +22,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ZeroLength()
|
public void Format_ZeroLength()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_NULL, Length: 0";
|
string expected = "Type: V_ASN1_NULL, Length: 0";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_NULL, Length = 0, Value = null };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_NULL, Length = 0, Value = null };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -31,7 +31,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_InvalidConstructed()
|
public void Format_InvalidConstructed()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_OBJECT, V_ASN1_CONSTRUCTED, Length: 1, Value: [INVALID DATA TYPE]";
|
string expected = "Type: V_ASN1_OBJECT, V_ASN1_CONSTRUCTED, Length: 1, Value: [INVALID DATA TYPE]";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_OBJECT | ASN1Type.V_ASN1_CONSTRUCTED, Length = 1, Value = false };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_OBJECT | ASN1Type.V_ASN1_CONSTRUCTED, Length = 1, Value = false };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -40,8 +40,8 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidConstructed()
|
public void Format_ValidConstructed()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_OBJECT, V_ASN1_CONSTRUCTED, Length: 3, Value:\n Type: V_ASN1_BOOLEAN, Length: 1, Value: True";
|
string expected = "Type: V_ASN1_OBJECT, V_ASN1_CONSTRUCTED, Length: 3, Value:\n Type: V_ASN1_BOOLEAN, Length: 1, Value: True";
|
||||||
var boolTlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_BOOLEAN, Length = 1, Value = new byte[] { 0x01 } };
|
var boolTlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_BOOLEAN, Length = 1, Value = new byte[] { 0x01 } };
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_OBJECT | ASN1Type.V_ASN1_CONSTRUCTED, Length = 3, Value = new Data.Models.ASN1.TypeLengthValue[] { boolTlv } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_OBJECT | ASN1Type.V_ASN1_CONSTRUCTED, Length = 3, Value = new TypeLengthValue[] { boolTlv } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -50,7 +50,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_InvalidDataType()
|
public void Format_InvalidDataType()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_OBJECT, Length: 1, Value: [INVALID DATA TYPE]";
|
string expected = "Type: V_ASN1_OBJECT, Length: 1, Value: [INVALID DATA TYPE]";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_OBJECT, Length = 1, Value = false };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_OBJECT, Length = 1, Value = false };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -59,7 +59,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_InvalidLength()
|
public void Format_InvalidLength()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_NULL, Length: 1, Value: [NO DATA]";
|
string expected = "Type: V_ASN1_NULL, Length: 1, Value: [NO DATA]";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_NULL, Length = 1, Value = Array.Empty<byte>() };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_NULL, Length = 1, Value = Array.Empty<byte>() };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -68,7 +68,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_InvalidBooleanLength()
|
public void Format_InvalidBooleanLength()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_BOOLEAN, Length: 2 [Expected length of 1], Value: True";
|
string expected = "Type: V_ASN1_BOOLEAN, Length: 2 [Expected length of 1], Value: True";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_BOOLEAN, Length = 2, Value = new byte[] { 0x01 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_BOOLEAN, Length = 2, Value = new byte[] { 0x01 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -77,7 +77,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_InvalidBooleanArrayLength()
|
public void Format_InvalidBooleanArrayLength()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_BOOLEAN, Length: 1 [Expected value length of 1], Value: True";
|
string expected = "Type: V_ASN1_BOOLEAN, Length: 1 [Expected value length of 1], Value: True";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_BOOLEAN, Length = 1, Value = new byte[] { 0x01, 0x00 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_BOOLEAN, Length = 1, Value = new byte[] { 0x01, 0x00 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -86,7 +86,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidBoolean()
|
public void Format_ValidBoolean()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_BOOLEAN, Length: 1, Value: True";
|
string expected = "Type: V_ASN1_BOOLEAN, Length: 1, Value: True";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_BOOLEAN, Length = 1, Value = new byte[] { 0x01 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_BOOLEAN, Length = 1, Value = new byte[] { 0x01 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -95,7 +95,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidInteger()
|
public void Format_ValidInteger()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_INTEGER, Length: 1, Value: 1";
|
string expected = "Type: V_ASN1_INTEGER, Length: 1, Value: 1";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_INTEGER, Length = 1, Value = new byte[] { 0x01 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_INTEGER, Length = 1, Value = new byte[] { 0x01 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -104,7 +104,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidBitString_NoBits()
|
public void Format_ValidBitString_NoBits()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_BIT_STRING, Length: 1, Value with 0 unused bits";
|
string expected = "Type: V_ASN1_BIT_STRING, Length: 1, Value with 0 unused bits";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_BIT_STRING, Length = 1, Value = new byte[] { 0x00 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_BIT_STRING, Length = 1, Value = new byte[] { 0x00 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -113,7 +113,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidBitString_Bits()
|
public void Format_ValidBitString_Bits()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_BIT_STRING, Length: 1, Value with 1 unused bits: 01";
|
string expected = "Type: V_ASN1_BIT_STRING, Length: 1, Value with 1 unused bits: 01";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_BIT_STRING, Length = 1, Value = new byte[] { 0x01, 0x01 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_BIT_STRING, Length = 1, Value = new byte[] { 0x01, 0x01 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -122,7 +122,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidOctetString()
|
public void Format_ValidOctetString()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_OCTET_STRING, Length: 1, Value: 01";
|
string expected = "Type: V_ASN1_OCTET_STRING, Length: 1, Value: 01";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_OCTET_STRING, Length = 1, Value = new byte[] { 0x01 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_OCTET_STRING, Length = 1, Value = new byte[] { 0x01 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -131,7 +131,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidObject()
|
public void Format_ValidObject()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_OBJECT, Length: 3, Value: 0.1.2.3 (/ITU-T/1/2/3)";
|
string expected = "Type: V_ASN1_OBJECT, Length: 3, Value: 0.1.2.3 (/ITU-T/1/2/3)";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_OBJECT, Length = 3, Value = new byte[] { 0x01, 0x02, 0x03 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_OBJECT, Length = 3, Value = new byte[] { 0x01, 0x02, 0x03 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -140,7 +140,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidUTF8String()
|
public void Format_ValidUTF8String()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_UTF8STRING, Length: 3, Value: ABC";
|
string expected = "Type: V_ASN1_UTF8STRING, Length: 3, Value: ABC";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_UTF8STRING, Length = 3, Value = new byte[] { 0x41, 0x42, 0x43 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_UTF8STRING, Length = 3, Value = new byte[] { 0x41, 0x42, 0x43 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -149,7 +149,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidPrintableString()
|
public void Format_ValidPrintableString()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_PRINTABLESTRING, Length: 3, Value: ABC";
|
string expected = "Type: V_ASN1_PRINTABLESTRING, Length: 3, Value: ABC";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_PRINTABLESTRING, Length = 3, Value = new byte[] { 0x41, 0x42, 0x43 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_PRINTABLESTRING, Length = 3, Value = new byte[] { 0x41, 0x42, 0x43 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -158,7 +158,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidTeletexString()
|
public void Format_ValidTeletexString()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_TELETEXSTRING, Length: 3, Value: ABC";
|
string expected = "Type: V_ASN1_TELETEXSTRING, Length: 3, Value: ABC";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_TELETEXSTRING, Length = 3, Value = new byte[] { 0x41, 0x42, 0x43 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_TELETEXSTRING, Length = 3, Value = new byte[] { 0x41, 0x42, 0x43 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -167,7 +167,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidIA5String()
|
public void Format_ValidIA5String()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_IA5STRING, Length: 3, Value: ABC";
|
string expected = "Type: V_ASN1_IA5STRING, Length: 3, Value: ABC";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_IA5STRING, Length = 3, Value = new byte[] { 0x41, 0x42, 0x43 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_IA5STRING, Length = 3, Value = new byte[] { 0x41, 0x42, 0x43 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -176,7 +176,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_InvalidUTCTime()
|
public void Format_InvalidUTCTime()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_UTCTIME, Length: 3, Value: ABC";
|
string expected = "Type: V_ASN1_UTCTIME, Length: 3, Value: ABC";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_UTCTIME, Length = 3, Value = new byte[] { 0x41, 0x42, 0x43 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_UTCTIME, Length = 3, Value = new byte[] { 0x41, 0x42, 0x43 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -185,7 +185,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidUTCTime()
|
public void Format_ValidUTCTime()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_UTCTIME, Length: 3, Value: 1980-01-01 00:00:00";
|
string expected = "Type: V_ASN1_UTCTIME, Length: 3, Value: 1980-01-01 00:00:00";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_UTCTIME, Length = 3, Value = new byte[] { 0x31, 0x39, 0x38, 0x30, 0x2D, 0x30, 0x31, 0x2D, 0x30, 0x31, 0x20, 0x30, 0x30, 0x3A, 0x30, 0x30, 0x3A, 0x30, 0x30 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_UTCTIME, Length = 3, Value = new byte[] { 0x31, 0x39, 0x38, 0x30, 0x2D, 0x30, 0x31, 0x2D, 0x30, 0x31, 0x20, 0x30, 0x30, 0x3A, 0x30, 0x30, 0x3A, 0x30, 0x30 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -194,7 +194,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidBmpString()
|
public void Format_ValidBmpString()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_BMPSTRING, Length: 6, Value: ABC";
|
string expected = "Type: V_ASN1_BMPSTRING, Length: 6, Value: ABC";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_BMPSTRING, Length = 6, Value = new byte[] { 0x41, 0x00, 0x42, 0x00, 0x43, 0x00 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_BMPSTRING, Length = 6, Value = new byte[] { 0x41, 0x00, 0x42, 0x00, 0x43, 0x00 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
@@ -203,7 +203,7 @@ namespace SabreTools.Data.Extensions.Test
|
|||||||
public void Format_ValidUnformatted()
|
public void Format_ValidUnformatted()
|
||||||
{
|
{
|
||||||
string expected = "Type: V_ASN1_OBJECT_DESCRIPTOR, Length: 1, Value: 01";
|
string expected = "Type: V_ASN1_OBJECT_DESCRIPTOR, Length: 1, Value: 01";
|
||||||
var tlv = new Data.Models.ASN1.TypeLengthValue { Type = ASN1Type.V_ASN1_OBJECT_DESCRIPTOR, Length = 1, Value = new byte[] { 0x01 } };
|
var tlv = new TypeLengthValue { Type = ASN1Type.V_ASN1_OBJECT_DESCRIPTOR, Length = 1, Value = new byte[] { 0x01 } };
|
||||||
string actual = tlv.Format();
|
string actual = tlv.Format();
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
|
|||||||
3
SabreTools.Data.Extensions/README.MD
Normal file
3
SabreTools.Data.Extensions/README.MD
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# SabreTools.Data.Extensions
|
||||||
|
|
||||||
|
This library contains extension methods related to models. These extensions are used in both reader and wrapper code.
|
||||||
47
SabreTools.Data.Extensions/SabreTools.Data.Extensions.csproj
Normal file
47
SabreTools.Data.Extensions/SabreTools.Data.Extensions.csproj
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<!-- Assembly Properties -->
|
||||||
|
<TargetFrameworks>net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0;netstandard2.0;netstandard2.1</TargetFrameworks>
|
||||||
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<CheckEolTargetFramework>false</CheckEolTargetFramework>
|
||||||
|
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
|
||||||
|
<IncludeSymbols>true</IncludeSymbols>
|
||||||
|
<LangVersion>latest</LangVersion>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
|
||||||
|
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
|
||||||
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||||
|
<Version>2.3.0</Version>
|
||||||
|
|
||||||
|
<!-- Package Properties -->
|
||||||
|
<Authors>Matt Nadareski</Authors>
|
||||||
|
<Description>Extension methods related to models</Description>
|
||||||
|
<Copyright>Copyright (c) Matt Nadareski 2019-2026</Copyright>
|
||||||
|
<PackageProjectUrl>https://github.com/SabreTools/</PackageProjectUrl>
|
||||||
|
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||||
|
<RepositoryUrl>https://github.com/SabreTools/SabreTools.Serialization</RepositoryUrl>
|
||||||
|
<RepositoryType>git</RepositoryType>
|
||||||
|
<PackageTags>models extensions conversion</PackageTags>
|
||||||
|
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="README.md" Pack="true" PackagePath="" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<InternalsVisibleTo Include="SabreTools.Wrappers" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="NetLegacySupport.Numerics" Version="1.0.1" Condition="$(TargetFramework.StartsWith(`net2`)) OR $(TargetFramework.StartsWith(`net3`))" />
|
||||||
|
<PackageReference Include="SabreTools.IO" Version="[1.9.1]" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\SabreTools.Data.Models\SabreTools.Data.Models.csproj" />
|
||||||
|
<ProjectReference Include="..\SabreTools.ObjectIdentifier\SabreTools.ObjectIdentifier.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user