public void Ymnos_SerializationFull() { string xmlString = @"<Ymnos> <annotation> <item language=""cs-ru"">Аннотация</item> </annotation> <stihos> <item language=""cs-ru"">Стих 1</item> </stihos> <stihos> <item language=""cs-ru"">Стих 2</item> </stihos> <text> <item language=""cs-ru"">Текст</item> </text> </Ymnos>" ; TypiconSerializer ser = new TypiconSerializer(); Ymnos element = ser.Deserialize <Ymnos>(xmlString); element.Text["cs-ru"] = "Текст измененный"; string result = ser.Serialize(element); Assert.Pass(result); }
public void SixHourTest_Deserialization_ProkeimenRequired() { #region xml string xmlString = @"<sixhour> <troparion> <group ihos=""5""> <ymnos> <text> <item language=""cs-ru"">[item] [sign] 6-й час. Тропарь пророчества</item> </text> </ymnos> </group> </troparion> <prokeimeni> </prokeimeni> <paroimies> <paroimia quote=""3.1-14""> <bookname> <item language=""cs-ru"">Пророчества Исаиина чтение</item> </bookname> <stihos> <item language=""cs-ru"">[item] [sign] 6-й час. Паремия 1. Стих 1</item> </stihos> <stihos> <item language=""cs-ru"">[item] [sign] 6-й час. Паремия 1. Стих 2</item> </stihos> <stihos> <item language=""cs-ru"">[item] [sign] 6-й час. Паремия 1. Стих 3</item> </stihos> <stihos> <item language=""cs-ru"">[item] [sign] 6-й час. Паремия 1. Стих 4</item> </stihos> <stihos> <item language=""cs-ru"">[item] [sign] 6-й час. Паремия 1. Стих 5</item> </stihos> <stihos> <item language=""cs-ru"">[item] [sign] 6-й час. Паремия 1. Стих 6</item> </stihos> <stihos> <item language=""cs-ru"">[item] [sign] 6-й час. Паремия 1. Стих 7</item> </stihos> <stihos> <item language=""cs-ru"">[item] [sign] 6-й час. Паремия 1. Стих 8</item> </stihos> <stihos> <item language=""cs-ru"">[item] [sign] 6-й час. Паремия 1. Стих 9</item> </stihos> <stihos> <item language=""cs-ru"">[item] [sign] 6-й час. Паремия 1. Стих 10</item> </stihos> </paroimia> </paroimies> </sixhour>"; #endregion TypiconSerializer ser = new TypiconSerializer(); SixHour element = ser.Deserialize<SixHour>(xmlString); Assert.IsFalse(element.IsValid); }
public void OrthrosTest_DeserializeFull() { string xml = TestDataXmlReader.GetXmlString("OrthrosTest_DeserializeFull.xml"); TypiconSerializer ser = new TypiconSerializer(); Orthros element = ser.Deserialize <Orthros>(xml); Assert.NotNull(element.SedalenKathisma1); Assert.NotNull(element.SedalenKathisma2); Assert.NotNull(element.SedalenKathisma3); Assert.NotNull(element.SedalenPolyeleos); Assert.AreEqual(element.Megalynarion.Count, 1); Assert.AreEqual(element.Eclogarion.Count, 17); Assert.AreEqual(element.Prokeimenon.Ihos, 3); Assert.NotNull(element.Evangelion); Assert.AreEqual(element.Evangelion.Count, 1); Assert.AreEqual(element.Sticheron50.Ymnis.Count, 1); Assert.AreEqual(element.Kanones.Count, 3); Assert.NotNull(element.SedalenKanonas); Assert.AreEqual(1, element.Kontakia.Count); Assert.AreEqual(1, element.Exapostilarion.Ymnis.Count); Assert.NotNull(element.Exapostilarion.Theotokion); Assert.NotNull(element.Ainoi); Assert.IsNull(element.Aposticha); }
public void EvangelionPart_Deserialize() { string xmlString = @"<EvangelionPart number=""43"" bookname=""Мф""/>"; TypiconSerializer ser = new TypiconSerializer(); EvangelionPart element = ser.Deserialize <EvangelionPart>(xmlString); Assert.AreEqual(element.Number, 43); Assert.AreEqual(element.BookName, EvangelionBook.Мф); }
public void Prosomoion_Self_Serialize() { string xmlString = @"<prosomoion self=""true""/>"; TypiconSerializer ser = new TypiconSerializer(); Prosomoion element = ser.Deserialize <Prosomoion>(xmlString); Assert.Pass(ser.Serialize(element)); }
public void YmnosGroupTest_ValidIhos() { string folderPath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData"); FileReader reader = new FileReader(folderPath); string xml = reader.Read("YmnosGroupTest.xml"); TypiconSerializer ser = new TypiconSerializer(); YmnosGroup element = ser.Deserialize <YmnosGroup>(xml); Assert.IsTrue(element.IsValid); }
public void MikrosEsperinos_Creature() { string folderPath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData"); var reader = new FileReader(folderPath); string xml = reader.Read("MikrosEsperinosTest.xml"); TypiconSerializer ser = new TypiconSerializer(); MikrosEsperinos element = ser.Deserialize <MikrosEsperinos>(xml); Assert.AreEqual(element.Kekragaria.Groups[0].Ymnis.Count, 3); }
public void Prosomoion_Deserialize() { string xmlString = @"<prosomoion> <item language=""cs-ru"">Все́ отло́жше</item> </prosomoion>"; TypiconSerializer ser = new TypiconSerializer(); Prosomoion element = ser.Deserialize <Prosomoion>(xmlString); Assert.IsFalse(element.Self); Assert.IsFalse(element.IsEmpty); }
public void Ymnos_Deserialization() { string xmlString = @"<Ymnos> <text> <item language=""cs-ru"">[item] [sign] Господи воззвах, Славник</item> </text> </Ymnos>" ; TypiconSerializer ser = new TypiconSerializer(); Ymnos element = ser.Deserialize <Ymnos>(xmlString); Assert.IsFalse(element.Text.IsEmpty); Assert.Pass(element.Text["cs-ru"]); }
public void ItemText_StringExpression() { string xmlString = @"<text> <item language=""cs-ru"">Блажен муж, иже не иде на совет нечестивых и на пути грешных не ста, и на седалищи губителей не седе,</item> <item language=""cs-cs"">Бlжeнъ мyжъ, и4же не и4де на совётъ нечести1выхъ, и3 на пути2 грёшныхъ не стA, и3 на сэдaлищи губи1телей не сёде:</item> <item language=""ru-ru"">Блажен муж, который не пошел на совет нечестивых, и на путь грешных не вступил, и не сидел в сборище губителей;</item> <item language=""el-el"">Μακάριος ἀνήρ, ὃς οὐκ ἐπορεύθη ἐν βουλῇ ἀσεβῶν καὶ ἐν ὁδῷ ἁμαρτωλῶν οὐκ ἔστη καὶ ἐπὶ καθέδραν λοιμῶν οὐκ ἐκάθισεν,</item> </text>"; var element = new TypiconSerializer().Deserialize <ItemText>(xmlString, "text"); Assert.IsFalse(element.IsEmpty); }
public void TypiconExportProjectorTest_SaveToFile() { var dbContext = TypiconDbContextFactory.Create(); var typicon = dbContext.Set <TypiconVersion>().FirstOrDefault(); var manager = new TypiconExportProjector(); var projection = manager.Project(typicon); var xml = new TypiconSerializer().Serialize(projection.Value); Assert.IsNotNull(xml); }
public void SixHourTest_Deserialization() { string folderPath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData"); FileReader reader = new FileReader(folderPath); string xml = reader.Read("SixHourTest.xml"); TypiconSerializer ser = new TypiconSerializer(); SixHour element = ser.Deserialize<SixHour>(xml); Assert.AreEqual(1, element.Troparion.YmnosStructureCount); Assert.AreEqual(2, element.Prokeimeni.Count); Assert.AreEqual(1, element.Paroimies.Count); Assert.AreEqual(10, element.Paroimies[0].Stihoi.Count); }
public void BooksXmlExportManagerTest_Serialize() { var dbContext = TypiconDbContextFactory.Create(); var booksProjector = new BooksProjector(dbContext); var projection = booksProjector.Project(); var serializer = new TypiconSerializer(); var xml = serializer.Serialize(projection); Assert.IsNotNull(xml); }
public void EsperinosTest_Serialization() { string folderPath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData"); FileReader reader = new FileReader(folderPath); string xml = reader.Read("Esperinos.xml"); TypiconSerializer ser = new TypiconSerializer(); Esperinos esperinos = ser.Deserialize <Esperinos>(xml); Assert.IsNotNull(esperinos); Assert.AreEqual(esperinos.Kekragaria.Groups[0].Ihos, 1); Assert.AreEqual(esperinos.Paroimies.Count, 2); }
public void ItemText_Deserialize() { string xmlString = @"<ItemText> <item language=""cs-ru"">Блажен муж, иже не иде на совет нечестивых и на пути грешных не ста, и на седалищи губителей не седе,</item> <item language=""cs-cs"">Бlжeнъ мyжъ, и4же не и4де на совётъ нечести1выхъ, и3 на пути2 грёшныхъ не стA, и3 на сэдaлищи губи1телей не сёде:</item> <item language=""ru-ru"">Блажен муж, который не пошел на совет нечестивых, и на путь грешных не вступил, и не сидел в сборище губителей;</item> <item language=""el-el"">Μακάριος ἀνήρ, ὃς οὐκ ἐπορεύθη ἐν βουλῇ ἀσεβῶν καὶ ἐν ὁδῷ ἁμαρτωλῶν οὐκ ἔστη καὶ ἐπὶ καθέδραν λοιμῶν οὐκ ἐκάθισεν,</item> </ItemText>"; TypiconSerializer ser = new TypiconSerializer(); ItemText element = ser.Deserialize <ItemText>(xmlString); Assert.IsNotNull(element); Assert.AreEqual(4, element.Items.Count()); }
public void ItemTextStyled_Right() { string xmlString = @"<ItemTextStyled bold=""true"" red=""true"" italic=""true""> <item language=""cs-ru"">Блажен муж, иже не иде на совет нечестивых и на пути грешных не ста, и на седалищи губителей не седе,</item> <item language=""cs-cs"">Бlжeнъ мyжъ, и4же не и4де на совётъ нечести1выхъ, и3 на пути2 грёшныхъ не стA, и3 на сэдaлищи губи1телей не сёде:</item> <item language=""ru-ru"">Блажен муж, который не пошел на совет нечестивых, и на путь грешных не вступил, и не сидел в сборище губителей;</item> <item language=""el-el"">Μακάριος ἀνήρ, ὃς οὐκ ἐπορεύθη ἐν βουλῇ ἀσεβῶν καὶ ἐν ὁδῷ ἁμαρτωλῶν οὐκ ἔστη καὶ ἐπὶ καθέδραν λοιμῶν οὐκ ἐκάθισεν,</item> </ItemTextStyled>"; var element = new TypiconSerializer().Deserialize <ItemTextStyled>(xmlString); Assert.IsTrue(element.IsBold); Assert.IsTrue(element.IsRed); Assert.IsTrue(element.IsItalic); }
public void PsalmStihos_Serialize_WithoutNumber() { PsalmStihos stihos = new PsalmStihos(); var result = stihos.AddElement("cs-ru", "Стих 1"); TypiconSerializer ser = new TypiconSerializer(); string xmlString = ser.Serialize(stihos); PsalmStihos element = ser.Deserialize <PsalmStihos>(xmlString); Assert.IsNotNull(element); Assert.AreEqual(null, element.Number); Assert.Pass(xmlString); }
private static void TestEsperinos() { XmlSerializer formatter = new XmlSerializer(typeof(Esperinos)); string xmlString = File.ReadAllText(@"data\Esperinos.xml"); TypiconSerializer ser = new TypiconSerializer(); Esperinos esperinos = ser.Deserialize<Esperinos>(xmlString); using (FileStream fs = new FileStream(@"data\Esperinos.xml", FileMode.Create)) { formatter.Serialize(fs, esperinos); Console.WriteLine("Объект сериализован"); } }
public void Docx_Serialize() { var date = new DateTime(2019, 2, 1); var queryProcessor = QueryProcessorFactory.Create(); var week = queryProcessor.Process(new OutputWeekQuery(1, date, new OutputFilter() { Language = "cs-ru" })); var ser = new TypiconSerializer(); var xml = ser.Serialize(week.Value); Assert.IsNotNull(xml); }
public void Leitourgia_Deserialization() { string folderPath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData"); var reader = new FileReader(folderPath); string xml = reader.Read("LeitourgiaTest.xml"); TypiconSerializer ser = new TypiconSerializer(); Leitourgia element = ser.Deserialize <Leitourgia>(xml); Assert.AreEqual(element.Makarismi.Links.Count, 2); Assert.AreEqual(element.Makarismi.Ymnis.Ymnis.Count, 6); Assert.AreEqual(element.Prokeimeni[0].Ihos, 7); Assert.AreEqual(element.Apostles[0].Number, 213); Assert.AreEqual(element.Alleluias[0].Stihoi.Count, 2); Assert.AreEqual(element.Evangelion[0].BookName, EvangelionBook.Мф); Assert.AreEqual(2, element.Kinoniki.Count); }
public void OrthrosTest_DeserializeEvangelion() { #region xml string xmlString = @"<orthros> <evangelion> <part number=""43"" bookname=""Мф""/> <part number=""36"" bookname=""Ин""/> </evangelion> </orthros>"; #endregion TypiconSerializer ser = new TypiconSerializer(); Orthros element = ser.Deserialize <Orthros>(xmlString); Assert.NotNull(element.Evangelion); Assert.AreEqual(element.Evangelion.Count, 2); }
public void YmnosSrtucture_Deserialization() { string xmlString = @"<YmnosStructure> <group ihos=""1""> <ymnos> <text> <item language=""cs-ru"">[item] [sign] Господи воззвах, 1 стихира </item> </text> </ymnos> <ymnos> <text> <item language=""cs-ru"">[item] [sign] Господи воззвах, 2 стихира </item> </text> </ymnos> <ymnos> <text> <item language=""cs-ru"">[item] [sign] Господи воззвах, 3 стихира </item> </text> </ymnos> </group> <doxastichon ihos=""8""> <ymnos> <text> <item language=""cs-ru"">[item] [sign] Господи воззвах, Славник</item> </text> </ymnos> </doxastichon> <theotokion ihos=""8"" kind=""stavros""> <ymnos> <text> <item language=""cs-ru"">[item] [sign] Господи воззвах, Крестобогородичен</item> </text> </ymnos> </theotokion> </YmnosStructure>" ; TypiconSerializer ser = new TypiconSerializer(); YmnosStructure element = ser.Deserialize <YmnosStructure>(xmlString); Assert.AreEqual(element.Groups.Count, 1); Assert.AreEqual(element.Groups[0].Ymnis.Count, 3); Assert.IsNotNull(element.Doxastichon); Assert.AreEqual(element.Doxastichon.Ihos, 8); Assert.AreEqual(element.Theotokion[0].Kind, YmnosGroupKind.Stavros); }
public void Ymnos_DeserializationTextRequired() { string xmlString = @"<Ymnos> <annotation> <item language=""cs-ru"">Творе́ние господи́на Пахо́мия мона́ха.</item> </annotation> <stihos> <item language=""cs-ru"">[item] [sign] Вечерня. На стиховне, Стих 1-й стихиры.</item> </stihos> <stihos> <item language=""cs-ru"">[item] [sign] Вечерня. На стиховне, Стих 2-й стихиры.</item> </stihos> </Ymnos>" ; TypiconSerializer ser = new TypiconSerializer(); Ymnos element = ser.Deserialize <Ymnos>(xmlString); Assert.IsFalse(element.IsValid); }
public void TypiconImportProjectorTest_Import() { var manager = new TypiconImportProjector( new CollectorSerializerRoot( QueryProcessorFactory.Create() , new TypiconSerializer())); var xml = TestDataXmlReader.GetXmlString("TypiconVersion.xml"); var projection = new TypiconSerializer().Deserialize <TypiconVersionProjection>(xml); var entity = manager.Project(projection); var vars = entity.Value.Versions.First().TypiconVariables; Assert.AreEqual(3, vars.Count); Assert.Pass(string.Join('\n', vars.Select(c => c.Name))); }
public void ItemTextNotedTest_Note() { string xmlString = @"<ItemTextNoted> <item language=""cs-ru"">Господи помилуй.</item> <item language=""cs-cs"">Господи помилуй.</item> <item language=""ru-ru"">Господи помилуй.</item> <item language=""el-el"">Господи помилуй.</item> <note bold=""true""><item language=""cs-cs"">Трижды.</item></note> </ItemTextNoted>"; var element = new TypiconSerializer().Deserialize <ItemTextNoted>(xmlString); Assert.IsNotNull(element.Note); Assert.AreEqual(1, element.Note.Items.Count()); Assert.IsTrue(element.Note.IsBold); //Assert.AreEqual("Господи помилуй. Трижды.", element.ToString()); Assert.Pass(element.ToString()); }
public void YmnosSrtucture_Serialization() { string xmlString = @"<YmnosStructure> <group ihos=""1""> <ymnos> <text> <item language=""cs-ru"">[item] [sign] Господи воззвах, 1 стихира </item> </text> </ymnos> <ymnos> <text> <item language=""cs-ru"">[item] [sign] Господи воззвах, 2 стихира </item> </text> </ymnos> <ymnos> <text> <item language=""cs-ru"">[item] [sign] Господи воззвах, 3 стихира </item> </text> </ymnos> </group> <doxastichon ihos=""8""> <ymnos> <text> <item language=""cs-ru"">[item] [sign] Господи воззвах, Славник</item> </text> </ymnos> </doxastichon> <theotokion ihos=""8"" kind=""stavros""> <ymnos> <text> <item language=""cs-ru"">[item] [sign] Господи воззвах, Крестобогородичен</item> </text> </ymnos> </theotokion> </YmnosStructure>" ; TypiconSerializer ser = new TypiconSerializer(); YmnosStructure element = ser.Deserialize <YmnosStructure>(xmlString); string result = ser.Serialize(element); Assert.Pass(result); }
public void PsalmStihos_Serialize() { PsalmStihos stihos = new PsalmStihos() { Number = 1 }; stihos.AddOrUpdate("cs-ru", "Стих 1"); TypiconSerializer ser = new TypiconSerializer(); string xmlString = ser.Serialize(stihos); PsalmStihos element = ser.Deserialize <PsalmStihos>(xmlString); Assert.IsNotNull(element); Assert.AreEqual(1, element.Number); Assert.Pass(xmlString); }
public void ItemText_Right() { string xmlString = @"<text> <item language=""cs-ru"">Блажен муж, иже не иде на совет нечестивых и на пути грешных не ста, и на седалищи губителей не седе,</item> <item language=""cs-cs"">Бlжeнъ мyжъ, и4же не и4де на совётъ нечести1выхъ, и3 на пути2 грёшныхъ не стA, и3 на сэдaлищи губи1телей не сёде:</item> <item language=""ru-ru"">Блажен муж, который не пошел на совет нечестивых, и на путь грешных не вступил, и не сидел в сборище губителей;</item> <item language=""el-el"">Μακάριος ἀνήρ, ὃς οὐκ ἐπορεύθη ἐν βουλῇ ἀσεβῶν καὶ ἐν ὁδῷ ἁμαρτωλῶν οὐκ ἔστη καὶ ἐπὶ καθέδραν λοιμῶν οὐκ ἐκάθισεν,</item> </text>"; var element = new TypiconSerializer().Deserialize <ItemText>(xmlString, "text"); Assert.IsFalse(element.IsEmpty); Assert.AreEqual(4, element.Items.Count()); //Assert.Pass($"count: {element.Items.Count()}"); var item = element.FirstOrDefault("cs-ru"); Assert.IsNotNull(item); Assert.Pass($"text: {item.Text}"); }
public void KanonasTest_Deserialization() { string folderPath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData"); FileReader reader = new FileReader(folderPath); string xml = reader.Read("KanonasTest.xml"); TypiconSerializer ser = new TypiconSerializer(); Kanonas element = ser.Deserialize <Kanonas>(xml); Assert.IsTrue(element.IsValid); Assert.NotNull(element.Acrostic["cs-cs"]); Assert.NotNull(element.Annotation["cs-cs"]); Assert.NotNull(element.Stihos["cs-ru"]); Assert.AreEqual(element.Odes.Count, 8); //Assert.NotNull(element.Odes[7].Irmos); //Assert.NotNull(element.Odes[7].Katavasia); Assert.AreEqual(element.Sedalen.Theotokion.Count, 2); Assert.NotNull(element.Exapostilarion.Ymnis[0].Text["cs-ru"]); //Assert.AreEqual(element.Evangelion.Count, 2); }
public void ItemText_Serialize() { string xmlString = @"<ItemTextNoted> <item language=""cs-ru"">Блажен муж, иже не иде на совет нечестивых и на пути грешных не ста, и на седалищи губителей не седе,</item> <item language=""cs-cs"">Бlжeнъ мyжъ, и4же не и4де на совётъ нечести1выхъ, и3 на пути2 грёшныхъ не стA, и3 на сэдaлищи губи1телей не сёде:</item> <item language=""ru-ru"">Блажен муж, который не пошел на совет нечестивых, и на путь грешных не вступил, и не сидел в сборище губителей;</item> <item language=""el-el"">Μακάριος ἀνήρ, ὃς οὐκ ἐπορεύθη ἐν βουλῇ ἀσεβῶν καὶ ἐν ὁδῷ ἁμαρτωλῶν οὐκ ἔστη καὶ ἐπὶ καθέδραν λοιμῶν οὐκ ἐκάθισεν,</item> <note><item language=""cs-cs"">Трижды.</item><style><red>true</red><bold>true</bold></style></note> </ItemTextNoted>"; TypiconSerializer ser = new TypiconSerializer(); ItemTextNoted element = ser.Deserialize <ItemTextNoted>(xmlString); element["cs-cs"] = "cs-cs Текст измененный"; element.Style.Header = HeaderCaption.h1; element.Style.IsBold = true; string result = ser.Serialize(element); Assert.Pass(result); }