public void IAsAdditionElement_Rewrite()
        {
            var factory = new RuleHandlerSettingsTestFactory();

            string xml = TestDataXmlReader.GetXmlString("AsAdditionRewrite1.xml");

            var additionalSettings = factory.CreateSettings(1, new DateTime(2017, 11, 09), xml);

            xml = TestDataXmlReader.GetXmlString("AsAdditionRewrite2.xml");

            var mainSettings = factory.CreateSettings(1, new DateTime(2017, 11, 09), xml, additionalSettings);

            var handler = new IsAdditionTestHandler()
            {
                Settings = mainSettings
            };

            //mainSettings.RuleContainer.Interpret(handler);

            WorshipRule worshipRule = (mainSettings.RuleContainer as ExecContainer).ChildElements[0] as WorshipRule;

            var kanonasRule = worshipRule.Sequence.GetChildElements <KanonasRule>(mainSettings).FirstOrDefault();

            Assert.IsNotNull(kanonasRule);

            kanonasRule.AfterRules[0].Interpret(handler);

            var result = handler.GetResult();

            Assert.IsNotNull(result.FirstOrDefault(c => c is EktenisRule));
        }
 public OutputWorshipModel(WorshipRule worship)
 {
     Id             = worship.Id;
     Time           = (worship.Time.HasValue) ? worship.Time.Value.Expression : string.Empty;
     Name           = worship.Name;
     AdditionalName = worship.AdditionalName;
 }
Пример #3
0
 public WorshipRuleViewModel(WorshipRule worship)
 {
     Id             = worship.Id;
     Name           = worship.Name;
     Time           = worship.Time.Expression;
     IsDayBefore    = worship.IsDayBefore;
     AdditionalName = worship.AdditionalName;
 }
        public void IAsAdditionElement_IsMatchSuccess()
        {
            // rule/worship
            var worship = new WorshipRule("worship", new RootContainer("rule"), TestRuleSerializer.Create().QueryProcessor);

            // rule/worship
            var toMatch = new WorshipRule("worship", new RootContainer("rule"), TestRuleSerializer.Create().QueryProcessor);

            var result = worship.IsMatch(toMatch);

            Assert.AreEqual(AsAdditionMatchingResult.Success, result);
        }
        public void IAsAdditionElement_IsMatchContinue()
        {
            // rule/worship
            var worship = new WorshipRule("worship", new RootContainer("rule"), TestRuleSerializer.Create().QueryProcessor);

            // rule/worship/kanonasrule/odi
            var kanonasRule = new KanonasRule("kanonasrule"
                                              , new KanonasRuleVMFactory(TestRuleSerializer.Create())
                                              , new WorshipRule("worship", new RootContainer("rule"), TestRuleSerializer.Create().QueryProcessor));

            kanonasRule.ChildElements.Add(new KOdiRule("odi", kanonasRule));

            var result = kanonasRule.IsMatch(worship);

            Assert.AreEqual(AsAdditionMatchingResult.Continue, result);
        }