コード例 #1
0
        public void RuleSerializerRoot_If()
        {
            var unitOfWork = new RuleSerializerRoot(BookStorageFactory.Create());

            var factoryContainer = unitOfWork.Container <If>();

            Assert.IsNotNull(factoryContainer);
            Assert.Pass(factoryContainer.ToString());
        }
コード例 #2
0
        public void RuleSerializerRoot_Additional()
        {
            var unitOfWork = new RuleSerializerRoot(BookStorageFactory.Create());

            var factoryContainer = unitOfWork.Container <RuleExecutable, ICalcStructureElement>();

            Assert.IsNotNull(factoryContainer);
            Assert.Pass(factoryContainer.ToString());
        }
コード例 #3
0
        public void ModifyReplacedDay_Xml()
        {
            string xmlString = @"<modifyreplacedday daymove=""0"" kind=""menology""/>";

            var serializer = new RuleSerializerRoot(BookStorageFactory.Create());

            var element = serializer.Container <ModifyReplacedDay>()
                          .Deserialize(xmlString);

            Assert.AreEqual(KindOfReplacedDay.Menology, element.Kind);
        }
コード例 #4
0
ファイル: IntTest.cs プロジェクト: uzador/TypiconOnline
        public void Rules_Expressions_Int_WrongNumber()
        {
            string xmlString = "<int>--13-06</int>";

            var unitOfWork = new RuleSerializerRoot(BookStorageFactory.Create());

            var element = unitOfWork.Container <Int>()
                          .Deserialize(new XmlDescriptor()
            {
                Description = xmlString
            });

            Assert.IsFalse(element.IsValid);
        }
コード例 #5
0
ファイル: IntTest.cs プロジェクト: uzador/TypiconOnline
        public void Rules_Expressions_Int_RightNumber()
        {
            string xmlString = "<int>-15</int>";

            var unitOfWork = new RuleSerializerRoot(BookStorageFactory.Create());

            var element = unitOfWork.Container <Int>()
                          .Deserialize(new XmlDescriptor()
            {
                Description = xmlString
            });

            Assert.IsNotNull(element);

            Assert.AreEqual(-15, element.ValueCalculated);
        }
コード例 #6
0
        private ScheduleService CreateScheduleService()
        {
            var easters = new EasterContext(_unitOfWork);

            BookStorage bookStorage = new BookStorage(new EvangelionContext(_unitOfWork),
                                                      new ApostolContext(_unitOfWork),
                                                      new OldTestamentContext(_unitOfWork),
                                                      new PsalterContext(_unitOfWork),
                                                      new OktoikhContext(_unitOfWork, easters),
                                                      new TheotokionAppContext(_unitOfWork),
                                                      new EasterContext(_unitOfWork),
                                                      new KatavasiaContext(_unitOfWork));

            IRuleSerializerRoot serializerRoot = new RuleSerializerRoot(bookStorage);

            return(new ScheduleService(new RuleHandlerSettingsFactory(), serializerRoot));
        }
コード例 #7
0
        public static ScheduleService Create(IUnitOfWork unitOfWork, IEasterContext easterContext)
        {
            if (unitOfWork == null)
            {
                throw new ArgumentNullException("unitOfWork");
            }

            BookStorage bookStorage = new BookStorage(new EvangelionContext(unitOfWork),
                                                      new ApostolContext(unitOfWork),
                                                      new OldTestamentContext(unitOfWork),
                                                      new PsalterContext(unitOfWork),
                                                      new OktoikhContext(unitOfWork, easterContext),
                                                      new TheotokionAppContext(unitOfWork),
                                                      easterContext,
                                                      new KatavasiaContext(unitOfWork));

            IRuleSerializerRoot serializerRoot = new RuleSerializerRoot(bookStorage);

            return(new ScheduleService(new RuleHandlerSettingsFactory(), serializerRoot));
        }
コード例 #8
0
        public void TextHolder_Creature()
        {
            #region xml
            string xmlString = @"<rule>
	                                <deacon>
		                                <p>
			                                <item language=""cs-ru"">Миром Господу помолимся.</item>
		                                </p>
	                                </deacon>
	                                <choir>
		                                <p>
			                                <item language=""cs-ru"">Господи, помилуй.</item>
		                                </p>
	                                </choir>
	                                <deacon>
		                                <p>
			                                <item language=""cs-ru"">Пресвятую, Пречистую, Преблагословенную, Славную Владычицу Нашу Богородицу, и Приснодеву Марию со всеми святыми помянувши сами себя, и друг друга, и весь живот наш Христу Богу предадим.</item>
		                                </p>
	                                </deacon>
	                                <choir>
		                                <p>
			                                <item language=""cs-ru"">Тебе Господи.</item>
		                                </p>
	                                </choir>
	                                <priest>
		                                <p>
			                                <item language=""cs-ru"">Яко подобает Тебе всякая слава, честь и поклонение, Отцу, и Сыну, и Святому Духу, всегда, ныне и присно, и во веки веков.</item>
		                                </p>
	                                </priest>
	                                <choir>
		                                <p>
			                                <item language=""cs-ru"">Аминь.</item>
		                                </p>
	                                </choir>
	                                <lector>
		                                <p>
			                                <item language=""cs-cs"">Положи́, Го́споди, хране́ние усто́м мои́м, и дверь огражде́ния о устна́х мои́х.</item>
		                                </p>
	                                </lector>
                                </rule>";
            #endregion

            var unitOfWork = new RuleSerializerRoot(BookStorageFactory.Create());

            var element = unitOfWork.Container <ExecContainer>()
                          .Deserialize(new XmlDescriptor()
            {
                Description = xmlString
            });
            //3
            int choirCount = element.ChildElements.Where(c => (c is TextHolder) && (c as TextHolder).Kind == TextHolderKind.Choir).Count();
            //2
            int deaconCount = element.ChildElements.Where(c => (c is TextHolder) && (c as TextHolder).Kind == TextHolderKind.Deacon).Count();
            //1
            int priestCount = element.ChildElements.Where(c => (c is TextHolder) && (c as TextHolder).Kind == TextHolderKind.Priest).Count();
            //1
            int lectorCount = element.ChildElements.Where(c => (c is TextHolder) && (c as TextHolder).Kind == TextHolderKind.Lector).Count();

            Assert.AreEqual(choirCount, 3);
            Assert.AreEqual(deaconCount, 2);
            Assert.AreEqual(priestCount, 1);
            Assert.AreEqual(lectorCount, 1);
            Assert.IsTrue(element.IsValid);
            Assert.Pass("Ok");
        }
コード例 #9
0
        public static ScheduleService Create()
        {
            IRuleSerializerRoot serializerRoot = new RuleSerializerRoot(BookStorageFactory.Create());

            return(new ScheduleService(new RuleHandlerSettingsFactory(), serializerRoot));
        }
コード例 #10
0
        public static T Deserialize <T>(string description) where T : RuleElement
        {
            var serializer = new RuleSerializerRoot(BookStorageFactory.Create());

            return(serializer.Container <T>().Deserialize(description));
        }