From 8d1bc3957c8d08ef1627ea3fce51c095465d76d4 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 25 Apr 2024 20:29:21 -0400 Subject: [PATCH] Add some more tests for BinaryReader --- .../Extensions/BinaryReaderExtensionsTests.cs | 42 ++++++++++++++++++- .../ByteArrayExtensionsReadTests.cs | 3 ++ .../Extensions/StreamExtensionsReadTests.cs | 3 ++ 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/SabreTools.IO.Test/Extensions/BinaryReaderExtensionsTests.cs b/SabreTools.IO.Test/Extensions/BinaryReaderExtensionsTests.cs index 9741bf1..12efd3f 100644 --- a/SabreTools.IO.Test/Extensions/BinaryReaderExtensionsTests.cs +++ b/SabreTools.IO.Test/Extensions/BinaryReaderExtensionsTests.cs @@ -9,10 +9,12 @@ using Xunit; namespace SabreTools.IO.Test.Extensions { - // TODO: Add byte[], char[] tests // TODO: Add string reading tests public class BinaryReaderExtensionsTests { + /// + /// Test pattern from 0x00-0x0F + /// private static readonly byte[] _bytes = [ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, @@ -28,6 +30,44 @@ namespace SabreTools.IO.Test.Extensions 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, ]; + [Fact] + public void ReadByteTest() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + byte read = br.ReadByte(); + Assert.Equal(0x00, read); + } + + [Fact] + public void ReadBytesTest() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + int length = 4; + byte[] read = br.ReadBytes(length); + Assert.Equal(length, read.Length); + Assert.True(read.SequenceEqual(_bytes.Take(length))); + } + + [Fact] + public void ReadSByteTest() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + sbyte read = br.ReadSByte(); + Assert.Equal(0x00, read); + } + + [Fact] + public void ReadCharTest() + { + var stream = new MemoryStream(_bytes); + var br = new BinaryReader(stream); + char read = br.ReadChar(); + Assert.Equal('\0', read); + } + [Fact] public void ReadInt16Test() { diff --git a/SabreTools.IO.Test/Extensions/ByteArrayExtensionsReadTests.cs b/SabreTools.IO.Test/Extensions/ByteArrayExtensionsReadTests.cs index c8cad85..245cfc1 100644 --- a/SabreTools.IO.Test/Extensions/ByteArrayExtensionsReadTests.cs +++ b/SabreTools.IO.Test/Extensions/ByteArrayExtensionsReadTests.cs @@ -11,6 +11,9 @@ namespace SabreTools.IO.Test.Extensions // TODO: Add string reading tests public class ByteArrayExtensionsReadTests { + /// + /// Test pattern from 0x00-0x0F + /// private static readonly byte[] _bytes = [ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, diff --git a/SabreTools.IO.Test/Extensions/StreamExtensionsReadTests.cs b/SabreTools.IO.Test/Extensions/StreamExtensionsReadTests.cs index dfb7166..c8cf90e 100644 --- a/SabreTools.IO.Test/Extensions/StreamExtensionsReadTests.cs +++ b/SabreTools.IO.Test/Extensions/StreamExtensionsReadTests.cs @@ -12,6 +12,9 @@ namespace SabreTools.IO.Test.Extensions // TODO: Add string reading tests public class StreamExtensionsReadTests { + /// + /// Test pattern from 0x00-0x0F + /// private static readonly byte[] _bytes = [ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,