示例#1
0
        public void TestLoadPlugin()
        {
            _batchFile = new ShellCmdTestBatchFile();

            _pluginLoader = new TestPluginLoader("ShellCmdTestPlugin", _pluginManager, _batchFile.Xml);
            _pluginLoader.Load();

            Assert.IsTrue(File.Exists(_batchFile.BatchFile), "test batch file wasn't written");
            Assert.IsFalse(File.Exists(_batchFile.FileThatBatchFileWillWrite), "test file shouldn't exist");

            Assert.AreEqual(1, _pluginManager.Plugins.Count, "No plugins loaded.");
            Assert.AreEqual("ShellCmdTestPlugin", _pluginManager.Plugins[0].Name, "Plugin Name incorrect");
            Assert.AreEqual("plugin-vendor", _pluginManager.Plugins[0].Organization, "Plugin Vendor incorrect");
            Assert.IsTrue(_pluginManager.Enabled, "Plugin manager isn't enabled");
            Assert.IsNull(_pluginManager.Plugins[0].Error, "Error when loading plugin manager");
            Assert.AreEqual(1, _pluginManager.Plugins[0].Features.Count, "MenuItem feature wasn't loaded");

            MenuItemFeature menuItemFeature = (MenuItemFeature)_pluginManager.Plugins[0].Features[0];

            Assert.IsNotNull(menuItemFeature.ShellCmd, "ShellCmd wasn't loaded");
            Assert.AreEqual(menuItemFeature.ShellCmd.Filename, _batchFile.BatchFile, "Batch file name wasn't read from plugin XML");

            // now execute the command and see if the test file is written by the batch file.
            menuItemFeature.GetCommand(new MockMainWindow(), new SelectedItem[] { new SelectedItem((IXenObject)null) }).Execute();

            int  i         = 0;
            bool completed = false;

            while (i < 300)
            {
                if (File.Exists(_batchFile.FileThatBatchFileWillWrite))
                {
                    completed = true;
                    break;
                }

                Thread.Sleep(100);
                i++;
            }

            Assert.IsTrue(completed, "test didn't complete");
        }
示例#2
0
        public void TestLoadPlugin()
        {
            _batchFile = new ShellCmdTestBatchFile();

            _pluginLoader = new TestPluginLoader("ShellCmdTestPlugin", _pluginManager, _batchFile.Xml);
            _pluginLoader.Load();

            Assert.IsTrue(File.Exists(_batchFile.BatchFile), "test batch file wasn't written");
            Assert.IsFalse(File.Exists(_batchFile.FileThatBatchFileWillWrite), "test file shouldn't exist");

            Assert.AreEqual(1, _pluginManager.Plugins.Count, "No plugins loaded.");
            Assert.AreEqual("ShellCmdTestPlugin", _pluginManager.Plugins[0].Name, "Plugin Name incorrect");
            Assert.AreEqual("plugin-vendor", _pluginManager.Plugins[0].Organization, "Plugin Vendor incorrect");
            Assert.IsTrue(_pluginManager.Enabled, "Plugin manager isn't enabled");
            Assert.IsNull(_pluginManager.Plugins[0].Error, "Error when loading plugin manager");
            Assert.AreEqual(1, _pluginManager.Plugins[0].Features.Count, "MenuItem feature wasn't loaded");

            MenuItemFeature menuItemFeature = (MenuItemFeature)_pluginManager.Plugins[0].Features[0];

            Assert.IsNotNull(menuItemFeature.ShellCmd, "ShellCmd wasn't loaded");
            Assert.AreEqual(menuItemFeature.ShellCmd.Filename, _batchFile.BatchFile, "Batch file name wasn't read from plugin XML");

            // now execute the command and see if the test file is written by the batch file.
            menuItemFeature.GetCommand(new MockMainWindow(), new SelectedItem[] { new SelectedItem((IXenObject)null) }).Execute();

            int i = 0;
            bool completed = false;
            while (i < 300)
            {
                if (File.Exists(_batchFile.FileThatBatchFileWillWrite))
                {
                    completed = true;
                    break;
                }

                Thread.Sleep(100);
                i++;
            }

            Assert.IsTrue(completed, "test didn't complete");
        }