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)); }