public void SenderMessageReturnFalse() { var factory = new FactoryConfig(); bool results = factory.RecieveMessage(); Assert.IsFalse(results, "Message Recieved Cannot be empty."); }
public void SenderMessageReturnFalse() { var factory = new FactoryConfig(); bool results = factory.SendMessage(string.Empty); Assert.IsFalse(results, "Message Cannot be empty"); }
public void SenderMessageReturnTrue() { var factory = new FactoryConfig(); bool results = factory.SendMessage("Ziggy"); Assert.IsTrue(results, "Message Sent Succeffuly"); }
public void SenderMessageReturnTrue() { var factory = new FactoryConfig(); bool results = factory.RecieveMessage(); Assert.IsTrue(results, "Message Recieved Succeffuly."); }
public void Setup(FactoryConfig config) { _produces = config.Produces; foreach (var type in _produces) { _queued[type] = 0; } }
private void ManageFactoryConfig() { ProcessCellService service = new ProcessCellService(); FactoryConfig factory = service.GetFactoryConfig(); Procescells = new ObservableCollection <Procescell>(factory.Procescells); Bins = new ObservableCollection <Bin>(factory.Bins); ParameterDefinitions = new ObservableCollection <ParameterDefinition>(factory.ParameterDefinitions); Units = new ObservableCollection <OAUnitDefinition>(factory.OAUnitDefinitions); }
private ClassConfig GetMatchSubType(MetaData metaData, Type subType, FactoryConfig factoryConfig) { foreach (var config in metaData.Configs) { if (config.Key == subType) { return(config.Value); } } return(null); }
//Gets Procescells, Units, Bins & ParameterDefinitions public FactoryConfig GetFactoryConfig() { using (var context = new ConfigurationToolContext()) { var procescellRepository = new ProcessCellRepository(context); var binRepository = new BinRepository(context); var parameterDefinitionRepository = new ParameterDefinitionRepository(context); var OAUnitDefinitionRepository = new OAUnitDefinitionRepository(context); var factoryConfig = new FactoryConfig(); factoryConfig.ParameterDefinitions = parameterDefinitionRepository.GetAll(); factoryConfig.Procescells = procescellRepository.GetAll(); factoryConfig.Bins = binRepository.GetAll(); factoryConfig.OAUnitDefinitions = OAUnitDefinitionRepository.GetAll(); return(factoryConfig); } }
/// <summary> /// 根据元数据以及过滤数据规则配置查找出匹配的子类 /// </summary> /// <param name="metaData">元数据</param> /// <param name="filters">过滤数据</param> /// <param name="factoryConfig">容器配置</param> /// <returns></returns> private ClassConfig GetMatchSubType(MetaData metaData, object[] filters, FactoryConfig factoryConfig) { ClassConfig defaultConfig = null; foreach (var config in metaData.Configs) { if (config.Value.IsMatch(filters, factoryConfig)) { return(config.Value); } if (config.Value.IsDefault) { defaultConfig = config.Value; } } //没有匹配的情况下如果有默认的就用默认的 return(defaultConfig); }
static FactoryContainer() { defaultConfig = new FactoryConfig(); }
internal override TService Resolve <TService>(MetaData metaData, object[] filter, object[] constructorArgs, FactoryConfig factoryConfig) { return(CreateInstance <TService>(metaData, metaData.SubTypes.First(), constructorArgs, factoryConfig)); }
public FactoryContainer(FactoryConfig factoryConfig) { this.factoryConfig = factoryConfig; }
/// <summary> /// 初始化工厂配置 /// </summary> private LazySqlFactory() { factoryConfig = new FactoryConfig(); }
public StandardContainer(FactoryConfig factoryConfig) : base(factoryConfig) { }
internal abstract TService Resolve <TService>(MetaData metaData, object[] filter, object[] constructorArgs, FactoryConfig factoryConfig);
private TService TryStoreSingleObject <TService>(MetaData metaData, Type type, object target, object[] constructorArgs, FactoryConfig factoryConfig, bool settingSingle) { if (constructorArgs != null || factoryConfig.CompentMode == CompentMode.PerRequest) { return((TService)target); } if (factoryConfig.CompentMode == CompentMode.BySetting && settingSingle == false) { return((TService)target); } lock (cacehObjects) { object obj; if (cacehObjects.TryGetValue(type, out obj)) { return((TService)obj); } else { cacehObjects.Add(type, target); } } return((TService)target); }
/// <summary> /// 根据元数据和类型构造参数和配置创造实例 /// </summary> /// <typeparam name="TService">原始类型</typeparam> /// <param name="metaData">元数据</param> /// <param name="type">需要创建的类型</param> /// <param name="constructorArgs">构造参数</param> /// <param name="factoryConfig">容器配置</param> /// <param name="settingSingle">是否设置为单例</param> /// <returns>TService类型</returns> protected TService CreateInstance <TService>(MetaData metaData, Type type, object[] constructorArgs, FactoryConfig factoryConfig, bool settingSingle = true) { if (type == null) { return(default(TService)); } //如果有缓存直接从缓存拿取 object obj; if (constructorArgs == null && cacehObjects.TryGetValue(type, out obj)) { return((TService)obj); } obj = Activator.CreateInstance(type, constructorArgs); return(TryStoreSingleObject <TService>(metaData, type, obj, constructorArgs, factoryConfig, settingSingle)); }
public FactoryContainer() { this.factoryConfig = defaultConfig; }
internal override TService Resolve <TService>(MetaData metaData, object[] filter, object[] constructorArgs, FactoryConfig factoryConfig) { //根据接口元数据查找匹配的子类类型配置 var type = typeof(TService); var config = GetMatchSubType(metaData, type, factoryConfig); if (config == null) { return(default(TService)); } var args = GetAjustConstructorArgs(config, constructorArgs); return(CreateInstance <TService>(metaData, config.InstanceType, args, factoryConfig, config.Single)); }