public void RuleSerializerRoot_Additional() { var unitOfWork = new RuleSerializerRoot(BookStorageFactory.Create()); var factoryContainer = unitOfWork.Container <RuleExecutable, ICalcStructureElement>(); Assert.IsNotNull(factoryContainer); Assert.Pass(factoryContainer.ToString()); }
public void RuleSerializerRoot_If() { var unitOfWork = new RuleSerializerRoot(BookStorageFactory.Create()); var factoryContainer = unitOfWork.Container <If>(); Assert.IsNotNull(factoryContainer); Assert.Pass(factoryContainer.ToString()); }
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); }
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); }
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); }
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"); }
public static T Deserialize <T>(string description) where T : RuleElement { var serializer = new RuleSerializerRoot(BookStorageFactory.Create()); return(serializer.Container <T>().Deserialize(description)); }