Пример #1
0
        public void RegisterPluginBadName()
        {
            IPluginFactory factory     = new PluginFactory();
            Type           commandType = typeof(PluginBadName);

            factory.RegisterCommand(commandType);
            Assert.AreEqual(1, factory.AvailablePlugins.Count());
            Assert.AreEqual("PluginBadName", factory.AvailablePlugins.First());
        }
Пример #2
0
        public void RegisterPlugin()
        {
            IPluginFactory factory = new PluginFactory();
            Type           applyScriptCommandType = typeof(ApplyScriptCommand);

            factory.RegisterCommand(applyScriptCommandType);
            Assert.AreEqual(1, factory.AvailablePlugins.Count());
            Assert.AreEqual("ApplyScript", factory.AvailablePlugins.First());
        }
Пример #3
0
        public void CreateCommand()
        {
            IPluginFactory factory = new PluginFactory();
            Type           applyScriptCommandType = typeof(ApplyScriptCommand);

            factory.RegisterCommand(applyScriptCommandType);
            IPluginCommand plugin = factory.CreateCommand("ApplyScript", null, null);

            Assert.AreEqual(typeof(ApplyScriptCommand), plugin.GetType());
        }
Пример #4
0
        public void RegisterWrongPlugin()
        {
            IPluginFactory factory     = new PluginFactory();
            Type           commandType = typeof(string);

            try {
                factory.RegisterCommand(commandType);
                Assert.Fail("string can not be plugin");
            } catch (Exception e) {
                Assert.AreEqual("String is not IPluginCommand", e.Message);
            }
        }
Пример #5
0
        public void SingleCommandInvoke()
        {
            EnvironmentModel env = GetTestEnvironmentConfig();

            IPluginFactory factory = new PluginFactory();

            factory.RegisterCommand(typeof(CreateTestFileCommand));
            ICommandInvoker invoker = new CommandInvoker(factory);

            invoker.Invoke(env);

            Assert.IsTrue(File.Exists("test_file.txt"));
            string content = File.ReadAllText("test_file.txt");

            Assert.AreEqual("TEST_MESSAGE", content);
        }