public void Rules_Expressions_More(bool expected, string xmlString) { var element = TestRuleSerializer.Deserialize <BooleanExpression>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(2017, 4, 15))); Assert.AreEqual(expected, element.ValueCalculated); }
public void DaysFromEaster_Creature() { string xmlString = @"<daysfromeaster><date>--04-07</date></daysfromeaster>"; var element = TestRuleSerializer.Deserialize <DaysFromEaster>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(2017, 04, 30))); Assert.AreEqual(-9, element.ValueCalculated); }
public void GetClosestDay_SeekFirstSunday1() { string xmlString = @"<getclosestday dayofweek=""воскресенье"" weekcount=""1""><date>--09-01</date></getclosestday>"; var element = TestRuleSerializer.Deserialize <GetClosestDay>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(2019, 04, 28))); Assert.AreEqual(element.ValueCalculated, new DateTime(2019, 9, 8)); }
public void GetClosestDay_SeekSecSunday() { string xmlString = @"<getclosestday dayofweek=""воскресенье"" weekcount=""-2""><date>--04-16</date></getclosestday>"; var element = TestRuleSerializer.Deserialize <GetClosestDay>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(2017, 04, 30))); Assert.AreEqual(new DateTime(2017, 04, 02), element.ValueCalculated); }
public void GetClosestDay_SeekFirstSaturday() { string xmlString = @"<getclosestday dayofweek=""суббота"" weekcount=""-1""><date>--04-16</date></getclosestday>"; var element = TestRuleSerializer.Deserialize <GetClosestDay>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(2017, 04, 30))); Assert.AreEqual(element.ValueCalculated, new DateTime(2017, 04, 15)); }
public void GetClosestDay_SeekClosestMonday() { string xmlString = @"<getclosestday dayofweek=""понедельник"" weekcount=""0""><date>--05-07</date></getclosestday>"; var element = TestRuleSerializer.Deserialize <GetClosestDay>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(2017, 12, 12))); Assert.AreEqual(element.ValueCalculated, new DateTime(2017, 5, 8)); }
public void GetDayOfWeek_FromGetClosestDay() { string xmlString = @"<getdayofweek><getclosestday dayofweek=""суббота"" weekcount=""0""><date>--05-18</date></getclosestday></getdayofweek>"; var element = TestRuleSerializer.Deserialize <GetDayOfWeek>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(2017, 05, 23))); Assert.AreEqual((DayOfWeek)element.ValueCalculated, DayOfWeek.Saturday); }
public void GetDayOfWeek_FromDate() { string xmlString = "<getdayofweek><date>--05-20</date></getdayofweek>"; var element = TestRuleSerializer.Deserialize <GetDayOfWeek>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(2017, 05, 23))); Assert.AreEqual((DayOfWeek)element.ValueCalculated, DayOfWeek.Saturday); }
public void GetDayOfWeek_Simple() { string xmlString = @"<getdayofweek name=""воскресенье""></getdayofweek>"; var element = TestRuleSerializer.Deserialize <GetDayOfWeek>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(1900, 05, 23))); Assert.AreEqual((DayOfWeek)element.ValueCalculated, DayOfWeek.Sunday); }
public void DateByDaysFromEaster_Circle() { string xmlString = "<datebydaysfromeaster><daysfromeaster><date>--04-07</date></daysfromeaster></datebydaysfromeaster>"; var element = TestRuleSerializer.Deserialize <DateByDaysFromEaster>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(2017, 05, 23))); string result = ((DateTime)element.ValueCalculated).ToString("dd-MM-yyyy"); Assert.AreEqual(result, "07-04-2017"); }
public void Rules_Expressions_Date_Creature() { string xmlString = "<date>--04-06</date>"; var element = TestRuleSerializer.Deserialize <Date>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(1900, 05, 23))); string result = ((DateTime)element.ValueCalculated).ToString("dd-MM-yyyy"); Assert.AreEqual("06-04-1900", result); }
public void Rules_Expressions_And_Dates() { string xmlString = @"<equals> <date/> <date>--04-15</date> </equals>"; var element = TestRuleSerializer.Deserialize <BooleanExpression>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(2017, 4, 15))); Assert.IsTrue((bool)element.ValueCalculated); }
public void Rules_Expressions_More_False() { //BookStorage.Instance = BookStorageFactory.Create(); string xmlString = @"<more> <int>2</int> <int>1</int> <int>-11</int> <daysfromeaster><date>--04-15</date></daysfromeaster> </more>"; var element = TestRuleSerializer.Deserialize <BooleanExpression>(xmlString); element.Interpret(BypassHandler.GetInstance(new DateTime(2017, 4, 15))); Assert.IsFalse((bool)element.ValueCalculated); }