From 4b9b4a22cc5bdda72e003a59ea8835300fcaf283 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 23 Jul 2025 13:13:01 -0400 Subject: [PATCH] Add BZip2 tests --- SabreTools.IO.Test/Compression/BZip2Tests.cs | 41 ++++++++++++++++++ .../TestData/file-to-compress.bin | 1 + .../TestData/file-to-compress.bin.bz2 | Bin 0 -> 122 bytes 3 files changed, 42 insertions(+) create mode 100644 SabreTools.IO.Test/Compression/BZip2Tests.cs create mode 100644 SabreTools.IO.Test/TestData/file-to-compress.bin create mode 100644 SabreTools.IO.Test/TestData/file-to-compress.bin.bz2 diff --git a/SabreTools.IO.Test/Compression/BZip2Tests.cs b/SabreTools.IO.Test/Compression/BZip2Tests.cs new file mode 100644 index 0000000..e3d0f2b --- /dev/null +++ b/SabreTools.IO.Test/Compression/BZip2Tests.cs @@ -0,0 +1,41 @@ +using System; +using System.IO; +using System.Text; +using SabreTools.IO.Compression.BZip2; +using Xunit; + +namespace SabreTools.IO.Test.Compression +{ + public class BZip2Tests + { + [Fact] + public void BZip2InputStreamTest() + { + string path = Path.Combine(Environment.CurrentDirectory, "TestData", "file-to-compress.bin.bz2"); + Stream input = File.OpenRead(path); + byte[] output = new byte[1024]; + + var bzip = new BZip2InputStream(input); + int actual = bzip.Read(output, 0, output.Length); + bzip.Close(); + + Assert.Equal(125, actual); + string str = Encoding.UTF8.GetString(output, 0, 125); + Assert.Equal("This is just a file that has a known set of hashes to make sure that everything with hashing is still working as anticipated.", str); + } + + [Fact] + public void BZip2OutputStreamTest() + { + string path = Path.Combine(Environment.CurrentDirectory, "TestData", "file-to-compress.bin"); + byte[] input = File.ReadAllBytes(path); + MemoryStream output = new MemoryStream(); + + var bzip = new BZip2OutputStream(output, leaveOpen: true); + bzip.Write(input, 0, input.Length); + bzip.Close(); + + Assert.Equal(122, output.Length); + } + } +} \ No newline at end of file diff --git a/SabreTools.IO.Test/TestData/file-to-compress.bin b/SabreTools.IO.Test/TestData/file-to-compress.bin new file mode 100644 index 0000000..7724139 --- /dev/null +++ b/SabreTools.IO.Test/TestData/file-to-compress.bin @@ -0,0 +1 @@ +This is just a file that has a known set of hashes to make sure that everything with hashing is still working as anticipated. \ No newline at end of file diff --git a/SabreTools.IO.Test/TestData/file-to-compress.bin.bz2 b/SabreTools.IO.Test/TestData/file-to-compress.bin.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..6d498cc775b610757f743281f948f255cffffd8c GIT binary patch literal 122 zcmZ>Y%CIzaj8qGblvw4)%)r1S+~B~-!l3{E{sIMt441FUr{tC|Tb8+kIrxIxgbWiS zpGjAlKBe&qnQmoDyxGOf;5tVyHU8|~Jbjln9SM1PrHv049Q<}N&&kS5J-qgLpH;&p bFO3qJ6-jT5g@b45`tBDma