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 void LessDate() { string xml = TestDataXmlReader.GetXmlString("LessDateTest.xml"); var settings = new RuleHandlerSettings() { Date = new DateTime(2017, 02, 08) }; var handler = new IsAdditionTestHandler() { Settings = settings }; var ruleContainer = TestRuleSerializer.Deserialize <RootContainer>(xml); ruleContainer.Interpret(handler); var result = handler.GetResult(); Assert.AreEqual(1, result.Count()); }
public void IAsAdditionElement_Append() { var factory = new RuleHandlerSettingsTestFactory(); string xml = TestDataXmlReader.GetXmlString("AsAdditionAppend2.xml"); var additionalSettings = factory.CreateSettings(1, new DateTime(2017, 11, 09), xml); xml = TestDataXmlReader.GetXmlString("AsAdditionAppend1.xml"); var mainSettings = factory.CreateSettings(1, new DateTime(2017, 11, 09), xml, additionalSettings); var handler = new IsAdditionTestHandler() { Settings = mainSettings }; mainSettings.RuleContainer.Interpret(handler); var result = handler.GetResult(); Assert.AreEqual(3, result.Count(c => c is KOdiRule)); }
public void IAsAdditionElement_Remove() { var factory = new RuleHandlerSettingsTestFactory(); string xml = TestDataXmlReader.GetXmlString("AsAdditionRemove2.xml"); var additionalSettings = factory.CreateSettings(1, new DateTime(2017, 11, 09), xml); xml = TestDataXmlReader.GetXmlString("AsAdditionRemove1.xml"); var mainSettings = factory.CreateSettings(1, new DateTime(2017, 11, 09), xml, additionalSettings); var handler = new IsAdditionTestHandler() { Settings = mainSettings }; mainSettings.RuleContainer.Interpret(handler); var result = handler.GetResult(); Assert.AreEqual(4, result.Count(c => c is KOdiRule)); Assert.IsNull(result.FirstOrDefault(c => c is KOdiRule && (c as KOdiRule).Number == 1)); }