Esempio n. 1
0
        private IUndoableEdit MergeEffects(IList <Combination> combinationsToMerge)
        {
            CompoundEdit ce = new CompoundEdit();

            foreach (Combination combi in combinationsToMerge)
            {
                foreach (Effect effect in combi.Effects)
                {
                    if (!combination.Effects.Contains(effect))
                    {
                        ce.AddEdit(EditFactory.instance.CreateAddEffectEdit(combination, effect));
                        combination.AddEffect(effect);
                    }
                }
            }
            foreach (Combination combi in combinationsToMerge)
            {
                foreach (Effect effect in combi.Effects)
                {
                    if (!combi.Effects.Contains(effect))
                    {
                        ce.AddEdit(EditFactory.instance.CreateAddEffectEdit(combi, effect));
                        combi.AddEffect(effect);
                    }
                    //update risk level
                    RiskLevelManager rlm = new RiskLevelManager(effect);
                    ce.AddEdit(rlm.ApplyRiskLevelToChildren());
                    //update state
                    StateObjectManager som = new StateObjectManager(effect);
                    ce.AddEdit(som.ApplyStateToChildren());
                }
            }
            return(ce);
        }
Esempio n. 2
0
        public IUndoableEdit AddEquivalenceClass(EquivalenceClass equivalenceClass)
        {
            if (testCase == null)
            {
                throw new Exception("The test case cannot be null");
            }
            CompoundEdit ce = new CompoundEdit();

            ce.AddEdit(EditFactory.instance.CreateAddEquivalenceClassEdit(testCase, equivalenceClass));
            testCase.AddEquivalenceClass(equivalenceClass);
            RiskLevelManager rlc = new RiskLevelManager(equivalenceClass);

            ce.AddEdit(rlc.ApplyRiskLevelToChildren());
            StateObjectManager som = new StateObjectManager(equivalenceClass);

            ce.AddEdit(som.ApplyStateToChildren());


            return(ce);
        }