public void GivenThatNoPluginsExists_WhenGetPluginByIdIsCalled_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.GetPluginById("id"); }
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 GivenThatPluginsExistsWithCorrectName_WhenGetPluginByIdIsCalled_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.GetPluginById("id"); Assert.IsTrue(ArePluginMetadatasEqual(existingPlugin.Metadata, plugin.Metadata)); }