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()); }
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()); }
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()); }
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); } }
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); }