mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-02-04 05:36:12 +00:00
Rename TLV deserializer to be more consistent
This commit is contained in:
@@ -1,18 +1,19 @@
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using SabreTools.Serialization.ASN1;
|
||||
using SabreTools.Serialization.Deserializers;
|
||||
using Xunit;
|
||||
|
||||
namespace SabreTools.Serialization.Test.Deserializers
|
||||
{
|
||||
public class TypeLengthValueTests
|
||||
public class ASN1TypeLengthValueTests
|
||||
{
|
||||
[Fact]
|
||||
public void NullArray_Null()
|
||||
{
|
||||
byte[]? data = null;
|
||||
int offset = 0;
|
||||
var deserializer = new TypeLengthValue();
|
||||
var deserializer = new ASN1TypeLengthValue();
|
||||
|
||||
var actual = deserializer.Deserialize(data, offset);
|
||||
Assert.Null(actual);
|
||||
@@ -23,7 +24,7 @@ namespace SabreTools.Serialization.Test.Deserializers
|
||||
{
|
||||
byte[]? data = [];
|
||||
int offset = 0;
|
||||
var deserializer = new TypeLengthValue();
|
||||
var deserializer = new ASN1TypeLengthValue();
|
||||
|
||||
var actual = deserializer.Deserialize(data, offset);
|
||||
Assert.Null(actual);
|
||||
@@ -34,7 +35,7 @@ namespace SabreTools.Serialization.Test.Deserializers
|
||||
{
|
||||
byte[]? data = [.. Enumerable.Repeat<byte>(0xFF, 1024)];
|
||||
int offset = 0;
|
||||
var deserializer = new TypeLengthValue();
|
||||
var deserializer = new ASN1TypeLengthValue();
|
||||
|
||||
var actual = deserializer.Deserialize(data, offset);
|
||||
Assert.Null(actual);
|
||||
@@ -44,7 +45,7 @@ namespace SabreTools.Serialization.Test.Deserializers
|
||||
public void NullStream_Null()
|
||||
{
|
||||
Stream? data = null;
|
||||
var deserializer = new TypeLengthValue();
|
||||
var deserializer = new ASN1TypeLengthValue();
|
||||
|
||||
var actual = deserializer.Deserialize(data);
|
||||
Assert.Null(actual);
|
||||
@@ -54,7 +55,7 @@ namespace SabreTools.Serialization.Test.Deserializers
|
||||
public void EmptyStream_Null()
|
||||
{
|
||||
Stream? data = new MemoryStream([]);
|
||||
var deserializer = new TypeLengthValue();
|
||||
var deserializer = new ASN1TypeLengthValue();
|
||||
|
||||
var actual = deserializer.Deserialize(data);
|
||||
Assert.Null(actual);
|
||||
@@ -64,7 +65,7 @@ namespace SabreTools.Serialization.Test.Deserializers
|
||||
public void InvalidStream_Null()
|
||||
{
|
||||
Stream? data = new MemoryStream([.. Enumerable.Repeat<byte>(0xFF, 1024)]);
|
||||
var deserializer = new TypeLengthValue();
|
||||
var deserializer = new ASN1TypeLengthValue();
|
||||
|
||||
var actual = deserializer.Deserialize(data);
|
||||
Assert.Null(actual);
|
||||
@@ -74,11 +75,11 @@ namespace SabreTools.Serialization.Test.Deserializers
|
||||
public void ValidMinimalStream_NotNull()
|
||||
{
|
||||
Stream data = new MemoryStream([0x00]);
|
||||
var deserializer = new TypeLengthValue();
|
||||
var deserializer = new ASN1TypeLengthValue();
|
||||
|
||||
var actual = deserializer.Deserialize(data);
|
||||
Assert.NotNull(actual);
|
||||
Assert.Equal(Serialization.ASN1.ASN1Type.V_ASN1_EOC, actual.Type);
|
||||
Assert.Equal(ASN1Type.V_ASN1_EOC, actual.Type);
|
||||
Assert.Equal(default, actual.Length);
|
||||
Assert.Null(actual.Value);
|
||||
}
|
||||
@@ -87,11 +88,11 @@ namespace SabreTools.Serialization.Test.Deserializers
|
||||
public void ValidBoolean_NotNull()
|
||||
{
|
||||
Stream data = new MemoryStream([0x01, 0x01, 0x01]);
|
||||
var deserializer = new TypeLengthValue();
|
||||
var deserializer = new ASN1TypeLengthValue();
|
||||
|
||||
var actual = deserializer.Deserialize(data);
|
||||
Assert.NotNull(actual);
|
||||
Assert.Equal(Serialization.ASN1.ASN1Type.V_ASN1_BOOLEAN, actual.Type);
|
||||
Assert.Equal(ASN1Type.V_ASN1_BOOLEAN, actual.Type);
|
||||
Assert.Equal(1UL, actual.Length);
|
||||
Assert.NotNull(actual.Value);
|
||||
|
||||
@@ -113,19 +114,19 @@ namespace SabreTools.Serialization.Test.Deserializers
|
||||
public void ComplexValue_NotNull(byte[] arr)
|
||||
{
|
||||
Stream data = new MemoryStream(arr);
|
||||
var deserializer = new TypeLengthValue();
|
||||
var deserializer = new ASN1TypeLengthValue();
|
||||
|
||||
var actual = deserializer.Deserialize(data);
|
||||
Assert.NotNull(actual);
|
||||
Assert.Equal(Serialization.ASN1.ASN1Type.V_ASN1_CONSTRUCTED | Serialization.ASN1.ASN1Type.V_ASN1_OBJECT, actual.Type);
|
||||
Assert.Equal(ASN1Type.V_ASN1_CONSTRUCTED | ASN1Type.V_ASN1_OBJECT, actual.Type);
|
||||
Assert.Equal(3UL, actual.Length);
|
||||
Assert.NotNull(actual.Value);
|
||||
|
||||
Serialization.ASN1.TypeLengthValue[]? valueAsArray = actual.Value as Serialization.ASN1.TypeLengthValue[];
|
||||
TypeLengthValue[]? valueAsArray = actual.Value as TypeLengthValue[];
|
||||
Assert.NotNull(valueAsArray);
|
||||
Serialization.ASN1.TypeLengthValue actualSub = Assert.Single(valueAsArray);
|
||||
TypeLengthValue actualSub = Assert.Single(valueAsArray);
|
||||
|
||||
Assert.Equal(Serialization.ASN1.ASN1Type.V_ASN1_BOOLEAN, actualSub.Type);
|
||||
Assert.Equal(ASN1Type.V_ASN1_BOOLEAN, actualSub.Type);
|
||||
Assert.Equal(1UL, actualSub.Length);
|
||||
Assert.NotNull(actualSub.Value);
|
||||
}
|
||||
@@ -136,7 +137,7 @@ namespace SabreTools.Serialization.Test.Deserializers
|
||||
public void ComplexValueInvalidLength_Null(byte[] arr)
|
||||
{
|
||||
Stream data = new MemoryStream(arr);
|
||||
var deserializer = new TypeLengthValue();
|
||||
var deserializer = new ASN1TypeLengthValue();
|
||||
|
||||
var actual = deserializer.Deserialize(data);
|
||||
Assert.Null(actual);
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using SabreTools.Serialization.Deserializers;
|
||||
|
||||
namespace SabreTools.Serialization.ASN1
|
||||
{
|
||||
@@ -40,12 +41,10 @@ namespace SabreTools.Serialization.ASN1
|
||||
throw new IndexOutOfRangeException(nameof(data));
|
||||
|
||||
// Create the deserializer
|
||||
var deserializer = new Deserializers.TypeLengthValue();
|
||||
|
||||
// Create the output list to return
|
||||
var topLevelValues = new List<TypeLengthValue>();
|
||||
var deserializer = new ASN1TypeLengthValue();
|
||||
|
||||
// Loop through the data and return all top-level values
|
||||
var topLevelValues = new List<TypeLengthValue>();
|
||||
while (data.Position < data.Length)
|
||||
{
|
||||
var topLevelValue = deserializer.Deserialize(data);
|
||||
|
||||
@@ -4,7 +4,7 @@ using SabreTools.IO.Extensions;
|
||||
|
||||
namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class TypeLengthValue : BaseBinaryDeserializer<ASN1.TypeLengthValue>
|
||||
public class ASN1TypeLengthValue : BaseBinaryDeserializer<ASN1.TypeLengthValue>
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override ASN1.TypeLengthValue? Deserialize(Stream? data)
|
||||
Reference in New Issue
Block a user