public void CreatePluginAddSinglePluginConfigureCustomServicesCreateInstanceOf() { TestLogger testLogger = new TestLogger(); using (TestPluginManager pluginManager = new TestPluginManager(testLogger)) { Assert.AreEqual(pluginManager.PluginsGetLoaded().Count, 1); pluginManager.PluginLoad("..\\..\\..\\..\\..\\Plugins\\BadEgg.Plugin\\bin\\Debug\\netcoreapp3.1\\BadEgg.Plugin.dll", false); Assert.AreEqual(pluginManager.PluginsGetLoaded().Count, 2); pluginManager.ConfigureServices(); // using inbuild DI container, create a mock instance MockPluginHelperClass mockPluginHelper = (MockPluginHelperClass)Activator.CreateInstance( typeof(MockPluginHelperClass), pluginManager.GetParameterInstances(typeof(MockPluginHelperClass))); Assert.IsNotNull(mockPluginHelper); } Assert.AreEqual(testLogger.Logs[0].LogLevel, LogLevel.PluginLoadSuccess); Assert.AreEqual(testLogger.Logs[1].LogLevel, LogLevel.PluginConfigureError); Assert.AreEqual(testLogger.Logs[2].LogLevel, LogLevel.PluginLoadSuccess); Assert.AreEqual(testLogger.Logs[2].Data, "BadEgg.Plugin.dll"); }