Exemplo n.º 1
0
        public void CabLib_CabExtract_2()
        {
            string originPath = Path.Combine(TestHelper.BaseDir, "ex2.jpg");
            string compPath   = Path.Combine(TestHelper.BaseDir, "ex2.cab");
            string decompDir  = Path.Combine(TestHelper.DestDir, "ex2");

            using (FileStream fs = new FileStream(compPath, FileMode.Open, FileAccess.Read, FileShare.Read))
                using (CabExtract cab = new CabExtract(fs))
                {
                    Assert.IsFalse(cab.ExtractSingleFile("ex3.jpg", decompDir)); // ex3.jpg does not exist in ex2.cab
                    Assert.IsTrue(cab.ExtractSingleFile("ex2.jpg", decompDir));
                }

            // Compare SHA256 Digest
            byte[] originDigest = TestHelper.SHA256Digest(originPath);
            byte[] decompDigest = TestHelper.SHA256Digest(Path.Combine(decompDir, "ex2.jpg"));
            Assert.IsTrue(decompDigest.SequenceEqual(originDigest));
        }