public void TestAddAssembly1() { using (var packer = PluginPacker.Create(_fname)) { var builder = new AbstractPluginTest.PluginBuilder("Simon", "Foo", "Plugin"); builder.AssemblyVersion = "4.0.3.1"; builder.AssemblyFileVersion = "1.2.3.42"; builder.AssemblyInformationalVersion = "4.0.0.0-beta"; builder.Save(); packer.AddPluginAssembly(builder.FileName); } using (var reader = PluginArchive.OpenRead(_fname)) { var index = reader.Index; index.Should().NotBeNull(); index.Name.Should().Be("Plugin"); index.Assemblies.Should().NotBeNull(); index.Assemblies.Should().HaveCount(1); index.Assemblies[0].EntryName.Should().Be("Plugin.dll"); index.Assemblies[0].AssemblyName.Should().Be("Plugin"); index.Assemblies[0].AssemblyVersion.Should().Be(new Version(4, 0, 3, 1)); index.Assemblies[0].AssemblyFileVersion.Should().Be(new Version(1, 2, 3, 42)); index.Assemblies[0].AssemblyInformationalVersion.Should().Be("4.0.0.0-beta"); index.NativeImages.Should().NotBeNull(); index.NativeImages.Should().HaveCount(0); var actualAssembly = reader.LoadAssembly("Plugin.dll"); actualAssembly.Should().NotBeNull(); } }
public void TestAddNativeImage1() { using (var packer = PluginPacker.Create(_fname)) { var builder = new AbstractPluginTest.PluginBuilder("Simon", "Foo", "Plugin"); builder.Save(); packer.AddPluginAssembly(builder.FileName); var fname = Path.Combine(_testData, "Native", "x86", "NativeImage.dll"); packer.AddFile("NativeImage.dll", fname); } using (var reader = PluginArchive.OpenRead(_fname)) { var index = reader.Index; index.Should().NotBeNull(); index.Assemblies.Should().NotBeNull(); index.Assemblies.Should().HaveCount(1); index.NativeImages.Should().NotBeNull(); index.NativeImages.Count.Should().Be(1); index.NativeImages[0].EntryName.Should().Be("NativeImage.dll"); index.NativeImages[0].ImageName.Should().Be("NativeImage"); } }
public void TestAddAssembly5() { using (var packer = PluginPacker.Create(_fname)) { var builder = new AbstractPluginTest.PluginBuilder("Kittyfisto", "MyPlugin", "My First Plugin"); builder.PluginVersion = new Version(1, 4, 12034); builder.ImplementInterface <IFileFormatPlugin>("Plugin.FileFormatPlugin"); builder.Save(); packer.AddPluginAssembly(builder.FileName); } using (var reader = PluginArchive.OpenRead(_fname)) { var index = reader.Index; index.Version.Should().NotBeNull(); index.Id.Should().Be("Kittyfisto.MyPlugin"); index.Name.Should().Be("My First Plugin"); index.Version.Should().Be(new Version(1, 4, 12034)); } }
public void TestLoadAssembly1() { using (var stream = new MemoryStream()) { using (var packer = PluginPacker.Create(stream, true)) { var builder = new AbstractPluginTest.PluginBuilder("Foo1", "Foo1", "Simon", "None of your business", "Get of my lawn"); builder.ImplementInterface <IFileFormatPlugin>("Foo1.MyAwesomePlugin"); builder.Save(); packer.AddPluginAssembly(builder.FileName); } stream.Position = 0; using (var reader = PluginArchive.OpenRead(stream)) { var assembly = reader.LoadAssembly("Plugin.dll"); assembly.Should().NotBeNull(); reader.LoadAssembly("Plugin.dll").Should().BeSameAs(assembly, "because LoadAssembly should return the very same assembly every time"); } } }