Create wrapper-centric methods

This commit is contained in:
Matt Nadareski
2025-09-06 10:40:26 -04:00
parent 821b91a555
commit 46feb3e568
18 changed files with 130 additions and 196 deletions

View File

@@ -12,14 +12,14 @@ namespace BinaryObjectScanner.Test
private static readonly List<WrapperType> _detectableTypes =
[
WrapperType.AACSMediaKeyBlock,
WrapperType.BDPlusSVM,
//WrapperType.CIA,
//WrapperType.Executable,
// WrapperType.AACSMediaKeyBlock, // TODO: Create wrapper to reenable test
// WrapperType.BDPlusSVM, // TODO: Create wrapper to reenable test
// WrapperType.CIA,
// WrapperType.Executable, // TODO: This needs to be split internally
WrapperType.LDSCRYPT,
//WrapperType.N3DS,
//WrapperType.Nitro,
WrapperType.PlayJAudioFile,
// WrapperType.N3DS,
// WrapperType.Nitro,
// WrapperType.PlayJAudioFile, // TODO: Create wrapper to reenable test
WrapperType.RealArcadeInstaller,
WrapperType.RealArcadeMezzanine,
WrapperType.SFFS,
@@ -63,7 +63,7 @@ namespace BinaryObjectScanner.Test
WrapperType.BZip2,
WrapperType.CFB,
//WrapperType.CIA,
//WrapperType.Executable,
//WrapperType.Executable, // TODO: This needs to be split internally
WrapperType.GCF,
WrapperType.GZip,
WrapperType.InstallShieldArchiveV3,
@@ -79,7 +79,7 @@ namespace BinaryObjectScanner.Test
WrapperType.PAK,
WrapperType.PFF,
WrapperType.PKZIP,
//WrapperType.PlayJAudioFile,
//WrapperType.PlayJAudioFile, // TODO: Create wrapper to reenable test
//WrapperType.Quantum,
WrapperType.RAR,
WrapperType.SevenZip,

View File

@@ -6,25 +6,29 @@ namespace BinaryObjectScanner.Test.FileType
{
public class AACSMediaKeyBlockTests
{
private static readonly SabreTools.Serialization.Wrappers.AACSMediaKeyBlock wrapper
= new(new SabreTools.Models.AACS.MediaKeyBlock(), new MemoryStream());
[Fact]
public void DetectFile_EmptyString_Null()
{
string file = string.Empty;
var detectable = new AACSMediaKeyBlock();
var detectable = new AACSMediaKeyBlock(wrapper);
string? actual = detectable.Detect(file, includeDebug: false);
Assert.Null(actual);
}
[Fact]
public void DetectStream_EmptyStream_Null()
public void DetectStream_EmptyStream_Empty()
{
Stream? stream = new MemoryStream();
string file = string.Empty;
var detectable = new AACSMediaKeyBlock();
var detectable = new AACSMediaKeyBlock(wrapper);
string? actual = detectable.Detect(stream, file, includeDebug: false);
Assert.Null(actual);
Assert.NotNull(actual);
Assert.Empty(actual);
}
}
}

View File

@@ -6,25 +6,29 @@ namespace BinaryObjectScanner.Test.FileType
{
public class BDPlusSVMTests
{
private static readonly SabreTools.Serialization.Wrappers.BDPlusSVM wrapper
= new(new SabreTools.Models.BDPlus.SVM(), new MemoryStream());
[Fact]
public void DetectFile_EmptyString_Null()
{
string file = string.Empty;
var detectable = new BDPlusSVM();
var detectable = new BDPlusSVM(wrapper);
string? actual = detectable.Detect(file, includeDebug: false);
Assert.Null(actual);
}
[Fact]
public void DetectStream_EmptyStream_Null()
public void DetectStream_EmptyStream_Empty()
{
Stream? stream = new MemoryStream();
string file = string.Empty;
var detectable = new BDPlusSVM();
var detectable = new BDPlusSVM(wrapper);
string? actual = detectable.Detect(stream, file, includeDebug: false);
Assert.Null(actual);
Assert.NotNull(actual);
Assert.Empty(actual);
}
}
}

View File

@@ -6,25 +6,29 @@ namespace BinaryObjectScanner.Test.FileType
{
public class LinearExecutableTests
{
private static readonly SabreTools.Serialization.Wrappers.LinearExecutable wrapper
= new(new SabreTools.Models.LinearExecutable.Executable(), new MemoryStream());
[Fact]
public void DetectFile_EmptyString_Null()
{
string file = string.Empty;
var detectable = new LinearExecutable();
var detectable = new LinearExecutable(wrapper);
string? actual = detectable.Detect(file, includeDebug: false);
Assert.Null(actual);
}
[Fact]
public void DetectStream_EmptyStream_Null()
public void DetectStream_EmptyStream_Empty()
{
Stream? stream = new MemoryStream();
string file = string.Empty;
var detectable = new LinearExecutable();
var detectable = new LinearExecutable(wrapper);
string? actual = detectable.Detect(stream, file, includeDebug: false);
Assert.Null(actual);
Assert.NotNull(actual);
Assert.Empty(actual);
}
}
}

View File

@@ -6,25 +6,29 @@ namespace BinaryObjectScanner.Test.FileType
{
public class MSDOSTests
{
private static readonly SabreTools.Serialization.Wrappers.MSDOS wrapper
= new(new SabreTools.Models.MSDOS.Executable(), new MemoryStream());
[Fact]
public void DetectFile_EmptyString_Null()
{
string file = string.Empty;
var detectable = new MSDOS();
var detectable = new MSDOS(wrapper);
string? actual = detectable.Detect(file, includeDebug: false);
Assert.Null(actual);
}
[Fact]
public void DetectStream_EmptyStream_Null()
public void DetectStream_EmptyStream_Empty()
{
Stream? stream = new MemoryStream();
string file = string.Empty;
var detectable = new MSDOS();
var detectable = new MSDOS(wrapper);
string? actual = detectable.Detect(stream, file, includeDebug: false);
Assert.Null(actual);
Assert.NotNull(actual);
Assert.Empty(actual);
}
}
}

View File

@@ -6,25 +6,29 @@ namespace BinaryObjectScanner.Test.FileType
{
public class NewExecutableTests
{
private static readonly SabreTools.Serialization.Wrappers.NewExecutable wrapper
= new(new SabreTools.Models.NewExecutable.Executable(), new MemoryStream());
[Fact]
public void DetectFile_EmptyString_Null()
{
string file = string.Empty;
var detectable = new NewExecutable();
var detectable = new NewExecutable(wrapper);
string? actual = detectable.Detect(file, includeDebug: false);
Assert.Null(actual);
}
[Fact]
public void DetectStream_EmptyStream_Null()
public void DetectStream_EmptyStream_Empty()
{
Stream? stream = new MemoryStream();
string file = string.Empty;
var detectable = new NewExecutable();
var detectable = new NewExecutable(wrapper);
string? actual = detectable.Detect(stream, file, includeDebug: false);
Assert.Null(actual);
Assert.NotNull(actual);
Assert.Empty(actual);
}
}
}

View File

@@ -6,25 +6,29 @@ namespace BinaryObjectScanner.Test.FileType
{
public class PLJTests
{
private static readonly SabreTools.Serialization.Wrappers.PlayJAudioFile wrapper
= new(new SabreTools.Models.PlayJ.AudioFile(), new MemoryStream());
[Fact]
public void DetectFile_EmptyString_Null()
{
string file = string.Empty;
var detectable = new PLJ();
var detectable = new PLJ(wrapper);
string? actual = detectable.Detect(file, includeDebug: false);
Assert.Null(actual);
}
[Fact]
public void DetectStream_EmptyStream_Null()
public void DetectStream_EmptyStream_Empty()
{
Stream? stream = new MemoryStream();
string file = string.Empty;
var detectable = new PLJ();
var detectable = new PLJ(wrapper);
string? actual = detectable.Detect(stream, file, includeDebug: false);
Assert.Null(actual);
Assert.NotNull(actual);
Assert.Empty(actual);
}
}
}

View File

@@ -6,25 +6,29 @@ namespace BinaryObjectScanner.Test.FileType
{
public class PortableExecutableTests
{
private static readonly SabreTools.Serialization.Wrappers.PortableExecutable wrapper
= new(new SabreTools.Models.PortableExecutable.Executable(), new MemoryStream());
[Fact]
public void DetectFile_EmptyString_Null()
{
string file = string.Empty;
var detectable = new PortableExecutable();
var detectable = new PortableExecutable(wrapper);
string? actual = detectable.Detect(file, includeDebug: false);
Assert.Null(actual);
}
[Fact]
public void DetectStream_EmptyStream_Null()
public void DetectStream_EmptyStream_Empty()
{
Stream? stream = new MemoryStream();
string file = string.Empty;
var detectable = new PortableExecutable();
var detectable = new PortableExecutable(wrapper);
string? actual = detectable.Detect(stream, file, includeDebug: false);
Assert.Null(actual);
Assert.NotNull(actual);
Assert.Empty(actual);
}
}
}