public void NoPlugInPointForStrategyPlugIn()
        {
            var manager = new PlugInManager(null, new NullLoggerFactory(), this.CreateServiceProvider());

            manager.RegisterPlugIn <IExampleStrategyPlugIn, ExampleStrategyPlugIn>();
            Assert.That(manager.GetPlugInPoint <IExampleStrategyPlugIn>(), Is.Null);
        }
Exemple #2
0
        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>());
        }
Exemple #4
0
        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> >());
        }
Exemple #6
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
        }