Esempio n. 1
0
 public SingleRuleSelector(IItemSkippingRule skippingRule)
 {
     _skippingRule = skippingRule;
 }
        private bool CheckSkip(TestAssessmentRuleCollection assessmentRuleCollection, IItemSkippingRule rule, ItemInstance itemInstance)
        {
            var ruleEngine = new RuleEngine <AssessmentInstance>(assessmentRuleCollection, new RuleProcessor());

            var assessmentInstance = Substitute.For <AssessmentInstance>();

            var ruleEngineContext = new RuleEngineContext <AssessmentInstance>(
                assessmentInstance,
                new SingleRuleSelector(rule));

            var skippingContext = new SkippingContext();

            ruleEngineContext
            .WorkingMemory
            .AddContextObject(itemInstance, itemInstance.ItemDefinitionCode);
            ruleEngineContext.WorkingMemory.AddContextObject(skippingContext);

            ruleEngine.ExecuteRules(ruleEngineContext);


            return(skippingContext.SkippedItemDefinitions.Any( ));
        }