diff --git a/README.MD b/README.MD index ff5d068..c2662b7 100644 --- a/README.MD +++ b/README.MD @@ -28,7 +28,7 @@ Various compression implementations that are used across multiple projects. Most | LZ | Yes | No | KWAJ, QBasic 4.5, and SZDD variants; KWAJ incomplete | | LZX | No | No | | | MSZIP | Yes | No | | -| Quantum | Yes* | No | Partial implementation based on standalone archives | +| Quantum | Yes* | No | Partial implementation based on standalone archives; not working | **Note:** If something is marked with a `*` it means that it need testing. diff --git a/SabreTools.IO.Test/Compression/MSZIPTests.cs b/SabreTools.IO.Test/Compression/MSZIPTests.cs index 9357744..064e4d0 100644 --- a/SabreTools.IO.Test/Compression/MSZIPTests.cs +++ b/SabreTools.IO.Test/Compression/MSZIPTests.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using System.Text; using SabreTools.IO.Compression.MSZIP; using SabreTools.IO.Extensions; using Xunit; diff --git a/SabreTools.IO.Test/Compression/QuantumTests.cs b/SabreTools.IO.Test/Compression/QuantumTests.cs new file mode 100644 index 0000000..33afc00 --- /dev/null +++ b/SabreTools.IO.Test/Compression/QuantumTests.cs @@ -0,0 +1,29 @@ +using System; +using System.IO; +using SabreTools.IO.Compression.Quantum; +using Xunit; + +namespace SabreTools.IO.Test.Compression +{ + public class QuantumTests + { + // This test is disabled for the forseeable future. The current Quantum + // processing code only handles standalone Quantum archives in theory. + // There is additional work that needs to be done to support MS-CAB padding + // before this test will pass properly. + + //[Fact] + public void DecompressorTest() + { + // Testing Note: This is a fake file that has been taken + // from the CFDATA block of a cabinet file. + string path = Path.Combine(Environment.CurrentDirectory, "TestData", "test-archive.qtm"); + byte[] inputBytes = File.ReadAllBytes(path); + + var decompressor = Decompressor.Create(inputBytes, 19); + byte[] output = decompressor.Process(); + + Assert.Equal(38470, output.Length); + } + } +} \ No newline at end of file diff --git a/SabreTools.IO.Test/TestData/test-archive.qtm b/SabreTools.IO.Test/TestData/test-archive.qtm new file mode 100644 index 0000000..474d211 Binary files /dev/null and b/SabreTools.IO.Test/TestData/test-archive.qtm differ