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)); }
/// <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); }