From cf08658b1e574a9359c07fcfcdf929beafe680d2 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 23 Apr 2024 09:38:58 -0400 Subject: [PATCH] Add tests for default BinaryReader methods for consistency --- .../Extensions/BinaryReaderExtensionsTests.cs | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/SabreTools.IO.Test/Extensions/BinaryReaderExtensionsTests.cs b/SabreTools.IO.Test/Extensions/BinaryReaderExtensionsTests.cs index 68030ba..cf9e948 100644 --- a/SabreTools.IO.Test/Extensions/BinaryReaderExtensionsTests.cs +++ b/SabreTools.IO.Test/Extensions/BinaryReaderExtensionsTests.cs @@ -14,6 +14,15 @@ namespace SabreTools.IO.Test.Extensions 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, ]; + [Fact] + public void ReadInt16Test() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + short read = br.ReadInt16(); + Assert.Equal(0x0100, read); + } + [Fact] public void ReadInt16BigEndianTest() { @@ -23,6 +32,15 @@ namespace SabreTools.IO.Test.Extensions Assert.Equal(0x0001, read); } + [Fact] + public void ReadUInt16Test() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + ushort read = br.ReadUInt16(); + Assert.Equal(0x0100, read); + } + [Fact] public void ReadUInt16BigEndianTest() { @@ -32,6 +50,15 @@ namespace SabreTools.IO.Test.Extensions Assert.Equal(0x0001, read); } + [Fact] + public void ReadInt32Test() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + int read = br.ReadInt32(); + Assert.Equal(0x03020100, read); + } + [Fact] public void ReadInt32BigEndianTest() { @@ -41,6 +68,15 @@ namespace SabreTools.IO.Test.Extensions Assert.Equal(0x00010203, read); } + [Fact] + public void ReadUInt32Test() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + uint read = br.ReadUInt32(); + Assert.Equal((uint)0x03020100, read); + } + [Fact] public void ReadUInt32BigEndianTest() { @@ -50,6 +86,16 @@ namespace SabreTools.IO.Test.Extensions Assert.Equal((uint)0x00010203, read); } + [Fact] + public void ReadSingleTest() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + float expected = BitConverter.Int32BitsToSingle(0x03020100); + float read = br.ReadSingle(); + Assert.Equal(expected, read); + } + [Fact] public void ReadSingleBigEndianTest() { @@ -60,6 +106,15 @@ namespace SabreTools.IO.Test.Extensions Assert.Equal(expected, read); } + [Fact] + public void ReadInt64Test() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + long read = br.ReadInt64(); + Assert.Equal(0x0706050403020100, read); + } + [Fact] public void ReadInt64BigEndianTest() { @@ -69,6 +124,15 @@ namespace SabreTools.IO.Test.Extensions Assert.Equal(0x0001020304050607, read); } + [Fact] + public void ReadUInt64Test() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + ulong read = br.ReadUInt64(); + Assert.Equal((ulong)0x0706050403020100, read); + } + [Fact] public void ReadUInt64BigEndianTest() { @@ -78,6 +142,16 @@ namespace SabreTools.IO.Test.Extensions Assert.Equal((ulong)0x0001020304050607, read); } + [Fact] + public void ReadDoubleTest() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + double expected = BitConverter.Int64BitsToDouble(0x0706050403020100); + double read = br.ReadDouble(); + Assert.Equal(expected, read); + } + [Fact] public void ReadDoubleBigEndianTest() {