public void FindTestLoggerClassTypeInstancesAddLogAndVerify()
        {
            using (TestPluginManager pluginManager = new TestPluginManager())
            {
                pluginManager.PluginLoad(Assembly.GetExecutingAssembly(), String.Empty, false);
                IPluginClassesService pluginServices = new PluginServices(pluginManager) as IPluginClassesService;

                Assert.IsNotNull(pluginServices);

                List <ILogger> classTypes = pluginServices.GetPluginClasses <ILogger>();

                Assert.AreEqual(classTypes.Count, 2);

                Assert.AreEqual(classTypes[1].GetType().FullName, "PluginManager.Tests.Mocks.TestLogger");

                TestLogger testLogger = classTypes[1] as TestLogger;

                Assert.IsNotNull(testLogger);

                testLogger.AddToLog(LogLevel.Information, "test");

                Assert.AreEqual(testLogger.Logs[0].Data, "test");
                Assert.AreEqual(testLogger.Logs[0].LogLevel, LogLevel.Information);
            }
        }
        public void FindTestLoggerClassTypeInstances()
        {
            using (TestPluginManager pluginManager = new TestPluginManager())
            {
                pluginManager.PluginLoad(Assembly.GetExecutingAssembly(), String.Empty, false);
                IPluginClassesService pluginServices = new PluginServices(pluginManager) as IPluginClassesService;

                Assert.IsNotNull(pluginServices);

                List <ILogger> classTypes = pluginServices.GetPluginClasses <ILogger>();

                Assert.AreEqual(classTypes.Count, 2);

                Assert.AreEqual(classTypes[1].GetType().FullName, "PluginManager.Tests.Mocks.TestLogger");
            }
        }