public void ShouldBeNotFulfilled_WithNotFulfilledDefault_AndOneFulfilledCondiiton() { var conditionsValidator = new ConditionsValidator() .WithCondition(ConditionRelation.Or, new NotFulfilledTestCondition()) .WithCondition(ConditionRelation.Or, new FulfilledTestCondition()) .WithDefaultState(ConditionState.NotFulfilled); conditionsValidator.Validate().ShouldBeEquivalentTo(ConditionState.Fulfilled); }
public ConditionState Validate() { ConditionState thisState = Expression(); if (RelatedConditions.Any()) { _relatedConditionsValidator.WithDefaultState(thisState); return(_relatedConditionsValidator.Validate()); } return(thisState); }
public void Execute() { if (_conditionsValidator.Validate() != ExpectedStateForExecution) { return; } foreach (var action in _actions) { action.Execute(); } }
public ConditionState Validate() { var thisState = Expression(); if (IsInverted) { thisState = thisState == ConditionState.Fulfilled ? ConditionState.NotFulfilled : ConditionState.Fulfilled; } if (RelatedConditions.Any()) { _relatedConditionsValidator.WithDefaultState(thisState); return(_relatedConditionsValidator.Validate()); } return(thisState); }