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; }
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); }