Rename TLV deserializer to be more consistent

This commit is contained in:
Matt Nadareski
2025-09-24 09:06:26 -04:00
parent 5fe3f14419
commit 0db5de204e
3 changed files with 22 additions and 22 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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)