Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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));
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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");
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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);
        }