public void Setup() { AnalyzerResult = new AnalyzerResult(); var conditionMetadata = new ConditionMetadata(); _conditionThatIsAlwaysTrue = new Mock <Condition>(conditionMetadata); _conditionThatIsAlwaysTrue.Setup(x => x.IsConditionMet(AnalyzerResult)).Returns(true); _conditionThatIsAlwaysFalse = new Mock <Condition>(conditionMetadata); _conditionThatIsAlwaysFalse.Setup(x => x.IsConditionMet(AnalyzerResult)).Returns(false); ConditionMetadata = new ConditionMetadata { Type = ConditionType.XmlFileQuery, Properties = new Dictionary <string, object> { { "FileNamePatterns", new[] { "SomeFile", "SomeOtherFile" } }, { "XmlElementPath", "path/to/element" } } }; ConditionGroupMetadata = new ConditionGroupMetadata { JoinOperator = JoinOperator.All, Conditions = new[] { ConditionMetadata, ConditionMetadata } }; ConditionGroupsMetadata = new[] { ConditionGroupMetadata, ConditionGroupMetadata }; }
/// <summary> /// Factory method that dynamically instantiates a configured feature using condition group metadata /// </summary> /// <param name="featureScope">The scope in which to look for this feature</param> /// <param name="name">Name of the feature</param> /// <param name="conditionGroupMetadata">Metadata defining the feature condition group</param> /// <returns>Instance of the defined feature</returns> public static ConfiguredFeature GetInstance(FeatureScope featureScope, string name, ConditionGroupMetadata conditionGroupMetadata) { var conditionGroup = new ConditionGroup { JoinOperator = conditionGroupMetadata.JoinOperator, Conditions = ConditionFactory.GetConditions(conditionGroupMetadata.Conditions) }; return(new ConfiguredFeature(featureScope, name, conditionGroup)); }