public void InitFromStream(Stream compressedStream) { byte[] decompressedBytes = null; compressedStream.Seek(0, SeekOrigin.Begin); if (IsCompressed) { // try { decompressedBytes = Unpacker.DecompressResource(compressedStream); InitFromRawDecompressed(decompressedBytes); return; } //catch (Exception) { } } using (var decompressedStream = new MemoryStream()) { compressedStream.CopyTo(decompressedStream); decompressedBytes = decompressedStream.ToArray(); } InitFromRawDecompressed(decompressedBytes); }
public void TestBadOodleHeader() { var path = Path.Combine(TestContext.CurrentContext.TestDirectory, "Samples", "OodleLz", "BadOodleHeader.bin"); Assert.Throws <Exception>(() => { Unpacker.DecompressResource(path); }); }
public void TestDecompressResource_String() { foreach (var sample in CompressedDataSamples) { var decompressedBytes = Unpacker.DecompressResource(sample.Item1); var expectedBytes = File.ReadAllBytes(sample.Item2); Assert.AreEqual(decompressedBytes, expectedBytes); } }
public void TestExtractWhileUnavailable() { var fileProvider = new MockFileProvider(); fileProvider.FileExistsResultQueue.Enqueue(false); fileProvider.FileExistsResultQueue.Enqueue(false); fileProvider.FileExistsResultQueue.Enqueue(false); fileProvider.FileExistsResultQueue.Enqueue(false); fileProvider.FileExistsResultQueue.Enqueue(false); fileProvider.FileExistsResultQueue.Enqueue(false); fileProvider.FileExistsResultQueue.Enqueue(false); Unpacker.FindDependencies(fileProvider); var path = Path.Combine(TestContext.CurrentContext.TestDirectory, "Samples", "OodleLz", "Compressed_F2_Resource.bin"); Assert.Throws <Exception>(() => { Unpacker.DecompressResource(path); }); }