public void test1() { Assert.False(persistenceDriver.GetPluginInterfacesNames().Count() > 0); Assert.False(persistenceDriver.ExistPluginInterface("test")); persistenceDriver.AddPluginInterface("test"); Assert.True(persistenceDriver.GetPluginInterfacesNames().Count() > 0); Assert.True(persistenceDriver.ExistPluginInterface("test")); Assert.False(persistenceDriver.ExistPluginImplementation("test", "local:test")); persistenceDriver.AddPluginImplementation("test", "local:test"); Assert.True(persistenceDriver.GetPluginImplementationsAddresses("test").Count() > 0); Assert.True(persistenceDriver.ExistPluginInterface("test")); Assert.True(persistenceDriver.ExistPluginImplementation("test", "local:test")); Assert.False(persistenceDriver.ExistPluginImplementation("test", "local:test2")); persistenceDriver.RemovePluginImplementation("test", "local:test"); Assert.True(persistenceDriver.GetPluginInterfacesNames().Count() > 0); Assert.False(persistenceDriver.GetPluginImplementationsAddresses("test").Count() > 0); Assert.True(persistenceDriver.ExistPluginInterface("test")); Assert.False(persistenceDriver.ExistPluginImplementation("test", "local:test")); persistenceDriver.RemovePluginInterface("test"); Assert.False(persistenceDriver.GetPluginInterfacesNames().Count() > 0); Assert.False(persistenceDriver.ExistPluginInterface("test")); }// END Method test1
} // END Property CachedPersistenceDriver public void ReloadCache() { plugins = new Dictionary <string, List <string> >(); foreach (string pluginInterfaceName in cachedPersistenceDriver.GetPluginInterfacesNames()) { plugins.Add(pluginInterfaceName, new List <string>()); foreach (string pluginImplementationAddress in cachedPersistenceDriver.GetPluginImplementationsAddresses(pluginInterfaceName)) { plugins[pluginInterfaceName].Add(pluginImplementationAddress); } } } // END Method ReloadCache
} // END Property ExistPluginImplementation public IEnumerable <string> GetPluginInterfacesNames() { List <String> rslt = new List <String>(); foreach (string interfaceName in readWritePersistenceDriver.GetPluginInterfacesNames()) { rslt.Add(interfaceName); } foreach (IPersistenceDriver driver in readOnlyPersistenceDrivers) { foreach (string interfaceName in driver.GetPluginInterfacesNames()) { if (!rslt.Contains(interfaceName)) { rslt.Add(interfaceName); } } } return(rslt); } // END Method GetPluginImplementationsNames