Example #1
0
        internal override ParameterInteraction GetExcludedCombinations(Model model)
        {
            if (CachedInteraction == null)
            {
                ParameterInteraction firstInteraction  = First.GetExcludedCombinations(model);
                ParameterInteraction secondInteraction = Second.GetExcludedCombinations(model);

                CachedInteraction = ParameterInteraction.Merge(model.Parameters,
                                                               firstInteraction,
                                                               secondInteraction,
                                                               (state1, state2) => state1 == ValueCombinationState.Covered || state2 == ValueCombinationState.Covered ?
                                                               ValueCombinationState.Covered :
                                                               ValueCombinationState.Excluded);
            }

            return(new ParameterInteraction(CachedInteraction));
        }