public void GetPluginsForType_ValidExistentPluginType2Results_Returns2Results() { // arrange ILogManager lmMock = this.CreateLogManagerMock(); PluginsConfigXml config = this.CreatePluginsConfigMock(); FileXml pluginFile = new FileXml(); pluginFile.FileName = Path.GetFileName( Assembly.GetExecutingAssembly().Location ); pluginFile.Location = Path.GetDirectoryName( Assembly.GetExecutingAssembly().Location ); config.PlugIns.Add( pluginFile ); PluginManager pm = new PluginManager( lmMock, config ); IEnumerable<Attribute> pluginsOne = null; IEnumerable<Attribute> pluginsTwo = null; // act pluginsOne = pm.GetPluginsForType( typeof( TestPluggableOne ) ); pluginsTwo = pm.GetPluginsForType( typeof( TestPluggableTwo ) ); // assert Assert.IsNotNull( pluginsOne ); Assert.AreEqual( 2, pluginsOne.Count<Attribute>() ); Assert.IsNotNull( pluginsTwo ); Assert.AreEqual( 1, pluginsTwo.Count<Attribute>() ); }