From 10569e6aa11e0f0a8a13e88a0b7ac0265fc638ec Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Mon, 3 Nov 2025 10:29:52 -0500 Subject: [PATCH] Add tests for CDROM --- .../Readers/CDROMVolumeTests.cs | 73 +++++++++++++++++++ .../Wrappers/CDROMTests.cs | 61 ++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 SabreTools.Serialization.Test/Readers/CDROMVolumeTests.cs create mode 100644 SabreTools.Serialization.Test/Wrappers/CDROMTests.cs diff --git a/SabreTools.Serialization.Test/Readers/CDROMVolumeTests.cs b/SabreTools.Serialization.Test/Readers/CDROMVolumeTests.cs new file mode 100644 index 00000000..cb60ed61 --- /dev/null +++ b/SabreTools.Serialization.Test/Readers/CDROMVolumeTests.cs @@ -0,0 +1,73 @@ +using System.IO; +using System.Linq; +using SabreTools.Serialization.Readers; +using Xunit; + +namespace SabreTools.Serialization.Test.Readers +{ + public class CDROMVolumeTests + { + [Fact] + public void NullArray_Null() + { + byte[]? data = null; + int offset = 0; + var deserializer = new CDROMVolume(); + + var actual = deserializer.Deserialize(data, offset); + Assert.Null(actual); + } + + [Fact] + public void EmptyArray_Null() + { + byte[]? data = []; + int offset = 0; + var deserializer = new CDROMVolume(); + + var actual = deserializer.Deserialize(data, offset); + Assert.Null(actual); + } + + [Fact] + public void InvalidArray_Null() + { + byte[]? data = [.. Enumerable.Repeat(0xFF, 1024)]; + int offset = 0; + var deserializer = new CDROMVolume(); + + var actual = deserializer.Deserialize(data, offset); + Assert.Null(actual); + } + + [Fact] + public void NullStream_Null() + { + Stream? data = null; + var deserializer = new CDROMVolume(); + + var actual = deserializer.Deserialize(data); + Assert.Null(actual); + } + + [Fact] + public void EmptyStream_Null() + { + Stream? data = new MemoryStream([]); + var deserializer = new CDROMVolume(); + + var actual = deserializer.Deserialize(data); + Assert.Null(actual); + } + + [Fact] + public void InvalidStream_Null() + { + Stream? data = new MemoryStream([.. Enumerable.Repeat(0xFF, 1024)]); + var deserializer = new CDROMVolume(); + + var actual = deserializer.Deserialize(data); + Assert.Null(actual); + } + } +} diff --git a/SabreTools.Serialization.Test/Wrappers/CDROMTests.cs b/SabreTools.Serialization.Test/Wrappers/CDROMTests.cs new file mode 100644 index 00000000..f6adb9be --- /dev/null +++ b/SabreTools.Serialization.Test/Wrappers/CDROMTests.cs @@ -0,0 +1,61 @@ +using System.IO; +using System.Linq; +using SabreTools.Serialization.Wrappers; +using Xunit; + +namespace SabreTools.Serialization.Test.Wrappers +{ + public class CDROMTests + { + [Fact] + public void NullArray_Null() + { + byte[]? data = null; + int offset = 0; + var actual = CDROM.Create(data, offset); + Assert.Null(actual); + } + + [Fact] + public void EmptyArray_Null() + { + byte[]? data = []; + int offset = 0; + var actual = CDROM.Create(data, offset); + Assert.Null(actual); + } + + [Fact] + public void InvalidArray_Null() + { + byte[]? data = [.. Enumerable.Repeat(0xFF, 1024)]; + int offset = 0; + var actual = CDROM.Create(data, offset); + Assert.Null(actual); + } + + [Fact] + public void NullStream_Null() + { + Stream? data = null; + var actual = CDROM.Create(data); + Assert.Null(actual); + } + + [Fact] + public void EmptyStream_Null() + { + Stream? data = new MemoryStream([]); + var actual = CDROM.Create(data); + Assert.Null(actual); + } + + [Fact] + public void InvalidStream_Null() + { + Stream? data = new MemoryStream([.. Enumerable.Repeat(0xFF, 1024)]); + var actual = CDROM.Create(data); + Assert.Null(actual); + } + } +}