示例#1
0
        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);
        }
示例#2
0
        public void DeactivatingPlugIns()
        {
            var manager = new PlugInManager();
            var plugIn  = new ExamplePlugIn();

            manager.RegisterPlugInAtPlugInPoint <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);
        }
示例#3
0
        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);
        }