public void RemoveTypeMappingsGeneric_RemoveAMapping() { //Arrange var typeMappings = new List <TypeMapping> { TypeMapping.Create <ILogger, SharePointLogger>(), TypeMapping.Create <IConfigManager, ConfigManager>(), TypeMapping.Create <IHierarchicalConfig, HierarchicalConfig>() }; var config = new ServiceLocationConfigData(typeMappings); var bag = new BIPropertyBag(); BSPFarm.SetLocal(); var cfgMgr = new SIConfigManager { ContainsKeyInPropertyBagStringIPropertyBag = (key, propertyBag) => true, CanAccessFarmConfigGet = () => true, GetPropertyBagConfigLevel = (configlevel) => bag, }; cfgMgr.GetFromPropertyBagStringIPropertyBag <ServiceLocationConfigData>((key, propetyBag) => config); cfgMgr.BehaveAsDefaultValue(); //Act var target = new ServiceLocatorConfig(cfgMgr); target.RemoveTypeMappings <ILogger>(); List <TypeMapping> registeredTypeMappings = target.GetTypeMappings().ToList(); //Assert Assert.AreEqual(2, registeredTypeMappings.Count); Assert.AreSame(typeMappings[1], registeredTypeMappings[0]); Assert.AreSame(typeMappings[2], registeredTypeMappings[1]); }
public void RegisterTypeMapping_SetANewMappingForExistingMapping() { //Arrange List <TypeMapping> mappings = null; var propertyBag = new BIPropertyBag(); BSPFarm.SetLocal(); var configMgr = new SIConfigManager { ContainsKeyInPropertyBagStringIPropertyBag = (stringValue, farm) => false, SetInPropertyBagStringObjectIPropertyBag = (strValue, obj, farm) => mappings = obj as List <TypeMapping>, CanAccessFarmConfigGet = () => true, GetPropertyBagConfigLevel = (configlevel) => propertyBag }; configMgr.BehaveAsDefaultValue(); //Act var target = new ServiceLocatorConfig(configMgr); target.RegisterTypeMapping <ISomething, Something>(); target.RegisterTypeMapping <ISomething, SomethingElse>(); TypeMapping mapping = mappings.First(); //Assert Assert.IsTrue(mapping.ToType.Contains("SomethingElse")); }
public void RemoveTypeMapping_RemoveAMapping() { //Arrange var typeMappings = new List <TypeMapping> { new TypeMapping() { FromAssembly = "1" }, new TypeMapping() { FromAssembly = "2" }, new TypeMapping() { FromAssembly = "3" } }; var config = new ServiceLocationConfigData(typeMappings); var bag = new BIPropertyBag(); BSPFarm.SetLocal(); var cfgMgr = new SIConfigManager { ContainsKeyInPropertyBagStringIPropertyBag = (key, propertyBag) => true, CanAccessFarmConfigGet = () => true, GetPropertyBagConfigLevel = (configlevel) => bag, }; cfgMgr.GetFromPropertyBagStringIPropertyBag <ServiceLocationConfigData>((key, propetyBag) => config); cfgMgr.BehaveAsDefaultValue(); //Act var target = new ServiceLocatorConfig(cfgMgr); target.RemoveTypeMapping(typeMappings[0]); List <TypeMapping> registeredTypeMappings = target.GetTypeMappings().ToList(); //Assert Assert.AreEqual(2, registeredTypeMappings.Count); Assert.AreSame(typeMappings[1], registeredTypeMappings[0]); Assert.AreSame(typeMappings[2], registeredTypeMappings[1]); }
public void GetTypeMappings_GetAllMappings() { //Arrange var setMappings = new List <TypeMapping> { new TypeMapping { FromAssembly = "1" }, new TypeMapping { FromAssembly = "2" }, new TypeMapping { FromAssembly = "3" } }; var configData = new ServiceLocationConfigData(setMappings); var bag = new BIPropertyBag(); BSPFarm.SetLocal(); var cfgMgr = new SIConfigManager { ContainsKeyInPropertyBagStringIPropertyBag = (strValue, propertyBag) => true, CanAccessFarmConfigGet = () => true, GetPropertyBagConfigLevel = (configlevel) => bag }; cfgMgr.BehaveAsDefaultValue(); cfgMgr.GetFromPropertyBagStringIPropertyBag <ServiceLocationConfigData>((strValue, property) => configData); //Act var target = new ServiceLocatorConfig(cfgMgr); IEnumerable <TypeMapping> registeredTypeMappings = target.GetTypeMappings(); //Assert Assert.AreEqual(3, registeredTypeMappings.Count()); }