Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public void TestBadOodleHeader()
        {
            var path = Path.Combine(TestContext.CurrentContext.TestDirectory, "Samples", "OodleLz", "BadOodleHeader.bin");

            Assert.Throws <Exception>(() =>
            {
                Unpacker.DecompressResource(path);
            });
        }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
        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);
            });
        }