public void GivenThatNoPluginsExists_WhenGetPluginByNameIsCalled_ThenAnExceptionIsThrown() { var sut = new DefaultPluginManager(); var pluginLoaderStub = MockRepository.GenerateStub<IPluginLoader>(); pluginLoaderStub.Stub(x => x.LoadPlugins()).Return(Enumerable.Empty<YarpPluginContainer>()); sut.PluginLoader = pluginLoaderStub; sut.LoadPlugins(); // ReSharper disable once UnusedVariable var plugin = sut.GetPluginByName("name"); }
public void TestPluginLoading() { DefaultPluginManager man = new DefaultPluginManager(); Assert.True(man.LoadedPlugins.Any(), "No plugins were found."); Assert.True(man.LoadedPlugins.Any(d => d.Name == "MiscTools"), "The default MiscTools plugin wasn't found."); foreach (ILecternPlugin plugin in man.LoadedPlugins) { plugin.Load(); } }
public void GivenThatPluginsExistsButNotWithTheGivenName_WhenGetPluginByIdIsCalled_ThenAnExceptionIsThrown() { var sut = new DefaultPluginManager(); var pluginLoaderStub = MockRepository.GenerateStub<IPluginLoader>(); pluginLoaderStub.Stub(x => x.LoadPlugins()).Return(new[] {new YarpPluginContainer(MockRepository.GenerateStub<IYarpPlugin>(), new YarpPluginMetadata("id","testName", "author", "description", "version", "category"))}); sut.PluginLoader = pluginLoaderStub; sut.LoadPlugins(); // ReSharper disable once UnusedVariable var plugin = sut.GetPluginById("faultyId"); }
public void GivenThatOnePluginExists_WhenGetAllPluginsIsCalledAfterLoading_ThenTheReturnedListContainsOnePlugin() { var sut = new DefaultPluginManager(); var pluginLoaderStub = MockRepository.GenerateStub<IPluginLoader>(); pluginLoaderStub.Stub(x => x.LoadPlugins()).Return(new List<YarpPluginContainer> { new YarpPluginContainer(MockRepository.GenerateStub<IYarpPlugin>(), new YarpPluginMetadata("id", "name", "author", "desc", "version", "categoryKD")) }); sut.PluginLoader = pluginLoaderStub; sut.LoadPlugins(); var plugins = sut.GetAllPlugins(); Assert.AreEqual(1, plugins.Count()); }
public void GivenThatNoPluginsExists_WhenGetAllPluginsIsCalledAfterLoading_ThenTheReturnedListIsEmpty() { var sut = new DefaultPluginManager(); var pluginLoaderStub = MockRepository.GenerateStub<IPluginLoader>(); pluginLoaderStub.Stub(x => x.LoadPlugins()).Return(Enumerable.Empty<YarpPluginContainer>()); sut.PluginLoader = pluginLoaderStub; sut.LoadPlugins(); var plugins = sut.GetAllPlugins(); Assert.AreEqual(0, plugins.Count()); }
public void GivenThatPluginsExistsWithCorrectName_WhenGetPluginByNameIsCalled_ThenTheExistingPluginIsReturned() { var sut = new DefaultPluginManager(); var pluginLoaderStub = MockRepository.GenerateStub<IPluginLoader>(); YarpPluginContainer existingPlugin = new YarpPluginContainer(MockRepository.GenerateStub<IYarpPlugin>(), new YarpPluginMetadata("id", "testName", "author", "description", "version", "category")); pluginLoaderStub.Stub(x => x.LoadPlugins()).Return(new[] {existingPlugin}); sut.PluginLoader = pluginLoaderStub; sut.LoadPlugins(); var plugin = sut.GetPluginByName("testName"); Assert.IsTrue(ArePluginMetadatasEqual(existingPlugin.Metadata, plugin.Metadata)); }