Example #1
0
        public void ConditionGroup_With_None_JoinOperator_Evaluates_Conditions_Like_NAN()
        {
            var conditionGroup_True_True = new ConditionGroup
            {
                JoinOperator = JoinOperator.None,
                Conditions   = new[]
                {
                    ConditionThatIsAlwaysTrue,
                    ConditionThatIsAlwaysTrue
                }
            };
            var conditionGroup_True_False = new ConditionGroup
            {
                JoinOperator = JoinOperator.None,
                Conditions   = new[]
                {
                    ConditionThatIsAlwaysTrue,
                    ConditionThatIsAlwaysFalse
                }
            };
            var conditionGroup_False_False = new ConditionGroup
            {
                JoinOperator = JoinOperator.None,
                Conditions   = new[]
                {
                    ConditionThatIsAlwaysFalse,
                    ConditionThatIsAlwaysFalse
                }
            };

            Assert.False(conditionGroup_True_True.AreConditionsMet(AnalyzerResult));
            Assert.False(conditionGroup_True_False.AreConditionsMet(AnalyzerResult));
            Assert.True(conditionGroup_False_False.AreConditionsMet(AnalyzerResult));
        }
Example #2
0
        /// <summary>
        /// Determines if the Configured Feature is present in a project
        /// </summary>
        /// <param name="analyzerResult">Project analysis results from Codelyzer</param>
        /// <returns>Whether or not the feature exists in the project</returns>
        public override bool IsPresent(AnalyzerResult analyzerResult)
        {
            if (!ConditionGroups.IsNullOrEmpty())
            {
                return(ConditionGroups.All(cg => cg.AreConditionsMet(analyzerResult)));
            }

            if (ConditionGroup != null)
            {
                return(ConditionGroup.AreConditionsMet(analyzerResult));
            }

            if (Condition != null)
            {
                return(Condition.IsConditionMet(analyzerResult));
            }

            return(false);
        }