public void TestLoadEmptyRegistry()
        {
            var registry = new PluginRegistry();

            registry.LoadAllOfType <ILogFileOutlinePlugin>().Should().BeEmpty();
            registry.LoadAllOfType <ILogEntryParserPlugin>().Should().BeEmpty();
        }
        public void TestLoadEmptyRegistry()
        {
            var registry = new PluginRegistry();

            registry.LoadAllOfType <IWidgetPlugin>().Should().BeEmpty();
            registry.LoadAllOfType <ILogAnalyserPlugin>().Should().BeEmpty();
        }
        public void TestLoadRegisteredPlugin()
        {
            var registry = new PluginRegistry();

            var plugin = CreateWidgetPlugin();

            registry.Register(plugin);

            var plugins = registry.LoadAllOfType <IWidgetPlugin>();

            plugins.Should().NotBeNull();
            plugins.Should().HaveCount(1);
            plugins.First().Should().BeSameAs(plugin);
        }
        public void TestLoadRegisteredPlugin()
        {
            var registry = new PluginRegistry();

            var plugin = CreateOutlinePlugin();

            registry.Register(plugin);

            var plugins = registry.LoadAllOfType <ILogFileOutlinePlugin>();

            plugins.Should().NotBeNull();
            plugins.Should().HaveCount(1);
            plugins.First().Should().BeSameAs(plugin);

            var plugins2 = registry.LoadAllOfTypeWithDescription <ILogFileOutlinePlugin>();

            plugins2.Should().NotBeNull();
            plugins2.Should().HaveCount(1);
            plugins2[0].Plugin.Should().BeSameAs(plugin);
            plugins2[0].Description.Should().BeNull();
        }