public void NoPlugInPointForStrategyPlugIn() { var manager = new PlugInManager(null, new NullLoggerFactory(), this.CreateServiceProvider()); manager.RegisterPlugIn <IExampleStrategyPlugIn, ExampleStrategyPlugIn>(); Assert.That(manager.GetPlugInPoint <IExampleStrategyPlugIn>(), Is.Null); }
public void NoPlugInPointForStrategyPlugIn() { var manager = new PlugInManager(); manager.RegisterPlugIn <IExampleStrategyPlugIn, ExampleStrategyPlugIn>(); Assert.That(manager.GetPlugInPoint <IExampleStrategyPlugIn>(), Is.Null); }
public void AutoDiscovery() { var manager = new PlugInManager(null, new NullLoggerFactory(), this.CreateServiceProvider()); manager.DiscoverAndRegisterPlugIns(); var examplePlugInPoint = manager.GetPlugInPoint <IExamplePlugIn>(); Assert.That(examplePlugInPoint, Is.InstanceOf <IExamplePlugIn>()); }
public void AutoDiscovery() { var manager = new PlugInManager(); manager.DiscoverAndRegisterPlugIns(); var examplePlugInPoint = manager.GetPlugInPoint <IExamplePlugIn>(); Assert.That(examplePlugInPoint, Is.InstanceOf <IExamplePlugIn>()); }
public void RegisteringPlugInCreatesProxy() { var manager = new PlugInManager(null, new NullLoggerFactory(), this.CreateServiceProvider()); manager.RegisterPlugIn <IExamplePlugIn, ExamplePlugIn>(); var point = manager.GetPlugInPoint <IExamplePlugIn>(); Assert.That(point, Is.InstanceOf <IExamplePlugIn>()); Assert.That(point, Is.InstanceOf <IPlugInContainer <IExamplePlugIn> >()); }
public void RegisteringPlugInCreatesProxy() { var manager = new PlugInManager(); manager.RegisterPlugIn <IExamplePlugIn, ExamplePlugIn>(); var point = manager.GetPlugInPoint <IExamplePlugIn>(); Assert.That(point, Is.InstanceOf <IExamplePlugIn>()); Assert.That(point, Is.InstanceOf <IPlugInPointProxy <IExamplePlugIn> >()); }
public void RegisteredPlugInsActiveByDefault() { var manager = new PlugInManager(null, new NullLoggerFactory(), this.CreateServiceProvider()); var plugIn = new ExamplePlugIn(); manager.RegisterPlugInAtPlugInPoint <IExamplePlugIn>(plugIn); var player = TestHelper.GetPlayer(); var command = "test"; var args = new MyEventArgs(); var point = manager.GetPlugInPoint <IExamplePlugIn>(); point.DoStuff(player, command, args); Assert.That(plugIn.WasExecuted, Is.True); }
public void RegisteredPlugInsActiveByDefault() { var manager = new PlugInManager(); var plugIn = new ExamplePlugIn(); manager.RegisterPlugIn <IExamplePlugIn>(plugIn); var player = TestHelper.GetPlayer(); var command = "test"; var args = new MyEventArgs(); var point = manager.GetPlugInPoint <IExamplePlugIn>(); point.DoStuff(player, command, args); Assert.That(plugIn.WasExecuted, Is.True); }
public void DeactivatingPlugIns() { var manager = new PlugInManager(); var plugIn = new ExamplePlugIn(); manager.RegisterPlugIn <IExamplePlugIn>(plugIn); manager.DeactivatePlugIn <ExamplePlugIn>(); var player = TestHelper.GetPlayer(); var command = "test"; var args = new MyEventArgs(); var point = manager.GetPlugInPoint <IExamplePlugIn>(); point.DoStuff(player, command, args); Assert.That(plugIn.WasExecuted, Is.False); }
public void CustomPlugInByConfiguration() { var configuration = new PlugInConfiguration { TypeId = new Guid("4EC93343-DE05-4449-B312-04005547266C"), IsActive = true, CustomPlugInSource = @" namespace test { using System.Runtime.InteropServices; using MUnique.OpenMU.GameLogic; using MUnique.OpenMU.PlugIns; using MUnique.OpenMU.PlugIns.Tests; [Guid(""4EC93343-DE05-4449-B312-04005547266C"")] [PlugIn(""foo"", ""Just an example example plugin."")] internal class ExamplePlugIn : IExamplePlugIn { /// <summary> /// Gets a value indicating whether the plugin instance was executed in the test. /// </summary> public bool WasExecuted { get; private set; } public void DoStuff(Player player, string text, MyEventArgs args) { this.WasExecuted = true; args.Text = ""CustomPlugIn""; } } }", }; var manager = new PlugInManager(new List <PlugInConfiguration> { configuration }, new NullLoggerFactory(), this.CreateServiceProvider()); var player = TestHelper.GetPlayer(); var command = "test"; var args = new MyEventArgs(); var point = manager.GetPlugInPoint <IExamplePlugIn>(); point.DoStuff(player, command, args); Assert.That(args.Text, Is.EqualTo("CustomPlugIn")); }
public void CreatedAndActiveByConfiguration(bool active) { var configuration = new PlugInConfiguration { TypeId = typeof(ExamplePlugIn).GUID, IsActive = active, }; var manager = new PlugInManager(new List <PlugInConfiguration> { configuration }, new NullLoggerFactory(), this.CreateServiceProvider()); var player = TestHelper.GetPlayer(); var command = "test"; var args = new MyEventArgs(); var point = manager.GetPlugInPoint <IExamplePlugIn>(); point.DoStuff(player, command, args); Assert.That(args.WasExecuted, Is.EqualTo(active)); }
public void DeactivatingOnePlugInDoesntAffectOthers() { var manager = new PlugInManager(null, new NullLoggerFactory(), this.CreateServiceProvider()); var plugIn = new ExamplePlugIn(); manager.RegisterPlugInAtPlugInPoint <IExamplePlugIn>(plugIn); manager.RegisterPlugIn <IExamplePlugIn, ExamplePlugIn.NestedPlugIn>(); manager.DeactivatePlugIn <ExamplePlugIn.NestedPlugIn>(); manager.ActivatePlugIn <ExamplePlugIn.NestedPlugIn>(); manager.DeactivatePlugIn <ExamplePlugIn.NestedPlugIn>(); var player = TestHelper.GetPlayer(); var command = "test"; var args = new MyEventArgs(); var point = manager.GetPlugInPoint <IExamplePlugIn>(); point.DoStuff(player, command, args); Assert.That(plugIn.WasExecuted, Is.True); }