Esempio n. 1
0
        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
            };
        }
Esempio n. 2
0
        /// <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));
        }