public void Recompress_FileHasPendingChanges_ThrowsException() { var fileSystem = Substitute.For<IFileSystem>(); var builder = new XapBuilder(CompressionLevel.NoCompression). AddAssemblyPart("A", 10000). AddAssemblyPart("B", 10000); builder.Build(); fileSystem.FileExists("Input.xap").Returns(true); fileSystem.OpenArchive("Input.xap", ZipArchiveMode.Update).Returns(a => builder.GetArchive(ZipArchiveMode.Update)); var target = new UpdateableXapFile("Input.xap", fileSystem); target.RemoveAssemblyPart(target.AssemblyParts[0]); target.Recompress(); }
private XapBuilder CreateFakeSourceXap(IFileSystem fileSystem, params string[] assemblies) { var builder = new XapBuilder(); foreach (string assembly in assemblies) { builder.AddAssemblyPart(assembly, 10000); } fileSystem.FileExists("Source.xap").Returns(true); fileSystem.OpenArchive("Source.xap", ZipArchiveMode.Read).Returns(a => new ZipArchive(builder.Build())); return builder; }
private XapBuilder CreateFakeInputXap(IFileSystem fileSystem, ZipArchiveMode mode, CompressionLevel compressionLevel, params string[] assemblies) { var builder = new XapBuilder(compressionLevel); foreach (string assembly in assemblies) { builder.AddAssemblyPart(assembly, 10000); } fileSystem.FileExists("Input.xap").Returns(true); fileSystem.OpenArchive("Input.xap", mode).Returns(a => new ZipArchive(builder.Build(), mode, true)); return builder; }