public Song Map(SongSelectFile source) { var sng = new Song { // CCLI ID CcliIdentifier = source.CcliIdentifier, // Title Title = source.Title, // Copyright Copyright = source.Copyright, // Administration / Rights management RightsManagement = source.Admin }; // Author var a = new SongAuthor { Name = source.Author }; sng.Authors.Add(a); // Themes sng.Themes.AddRange(source.Themes); // Key sng.Key = source.Key; // Verses foreach (var v in source.Verses) { var p = new SongPart { Caption = v.Caption }; var s = new SongSlide(); s.Lines.AddRange(v.Lines); p.Slides.Add(s); sng.Parts.Add(p); } return(sng); }
public static Song GetExpectedSongExtended() { Song song = PowerPraiseTestUtil.GetExpectedSong(); song.Comment = "Test"; song.Guid = new Guid("78dd30b2-078b-4eef-9767-dc41a6e6ab27"); song.QualityIssues.Add(SongQualityAssuranceIndicator.Translation); song.QualityIssues.Add(SongQualityAssuranceIndicator.Segmentation); song.CcliIdentifier = "12123"; SongAuthor a = new SongAuthor { Name = "asd as d" }; song.Authors.Add(a); song.Publisher = "Sparrow Records"; song.RightsManagement = "Verlag ABC"; return(song); }
public static ExtendedPowerPraiseSong GetExpectedExtendedPowerPraiseSong() { ExtendedPowerPraiseSong ppl = new ExtendedPowerPraiseSong { Title = "Näher, mein Gott, zu Dir", Language = "Deutsch", Category = "Anbetung", Comment = "Test", Guid = new Guid("78dd30b2-078b-4eef-9767-dc41a6e6ab27") }; // General ppl.QualityIssues.Add(SongQualityAssuranceIndicator.Translation); ppl.QualityIssues.Add(SongQualityAssuranceIndicator.Segmentation); ppl.CcliIdentifier = "12123"; SongAuthor a = new SongAuthor { Name = "asd as d" }; ppl.Author.Add(a); ppl.Publisher = "Sparrow Records"; ppl.RightsManagement = "Verlag ABC"; // Songtext PowerPraiseSong.Part part = new PowerPraiseSong.Part { Caption = "Teil 1" }; PowerPraiseSong.Slide slide = new PowerPraiseSong.Slide { MainSize = 42, Background = new ImageBackground("Blumen\\Blume 3.jpg") }; slide.Lines.Add("Näher, mein Gott, zu Dir,"); slide.Lines.Add("sei meine Bitt'!"); slide.Lines.Add("Näher, o Herr, zu Dir"); slide.Lines.Add("mit jedem Schritt."); part.Slides.Add(slide); slide = new PowerPraiseSong.Slide { MainSize = 44, Background = new ImageBackground("Blumen\\Blume 3.jpg") }; slide.Lines.Add("Nur an dem Herzen Dein"); slide.Lines.Add("kann ich geborgen sein;"); slide.Lines.Add("deshalb die Bitte mein:"); slide.Lines.Add("Näher zu Dir!"); part.Slides.Add(slide); ppl.Parts.Add(part); part = new PowerPraiseSong.Part { Caption = "Teil 2" }; slide = new PowerPraiseSong.Slide { MainSize = 42, Background = new ImageBackground("Blumen\\Blume 3.jpg") }; slide.Lines.Add("Näher, mein Gott, zu Dir!"); slide.Lines.Add("Ein jeder Tag"); slide.Lines.Add("soll es neu zeigen mir,"); slide.Lines.Add("was er vermag:"); part.Slides.Add(slide); slide = new PowerPraiseSong.Slide { MainSize = 42, Background = new ImageBackground("Blumen\\Blume 3.jpg") }; slide.Lines.Add("Wie seiner Gnade Macht,"); slide.Lines.Add("Erlösung hat gebracht,"); slide.Lines.Add("in uns're Sündennacht."); slide.Lines.Add("Näher zu Dir!"); part.Slides.Add(slide); ppl.Parts.Add(part); part = new PowerPraiseSong.Part { Caption = "Teil 3" }; slide = new PowerPraiseSong.Slide { MainSize = 42, Background = new ImageBackground("Blumen\\Blume 3.jpg") }; slide.Lines.Add("Näher, mein Gott, zu Dir!"); slide.Lines.Add("Dich bet' ich an."); slide.Lines.Add("Wie vieles hast an mir,"); slide.Lines.Add("Du doch getan!"); part.Slides.Add(slide); slide = new PowerPraiseSong.Slide { MainSize = 42, Background = new ImageBackground("Blumen\\Blume 3.jpg") }; slide.Lines.Add("Von Banden frei und los,"); slide.Lines.Add("ruh' ich in Deinem Schoss."); slide.Lines.Add("Ja, Deine Gnad' ist gross!"); slide.Lines.Add("Näher zu Dir!"); part.Slides.Add(slide); ppl.Parts.Add(part); // Order ppl.Order.Add(ppl.Parts[0]); ppl.Order.Add(ppl.Parts[1]); ppl.Order.Add(ppl.Parts[2]); // Copyright ppl.CopyrightText.Add("Text und Musik: Lowell Mason, 1792-1872"); ppl.Formatting.CopyrightTextPosition = AdditionalInformationPosition.LastSlide; // Source ppl.SourceText = "grünes Buch 339"; ppl.Formatting.SourceTextPosition = AdditionalInformationPosition.FirstSlide; // Formatting ppl.Formatting.MainText = new PowerPraiseSongFormatting.FontFormatting { Font = new Font("Times New Roman", 44, FontStyle.Bold | FontStyle.Italic), Color = Color.White, OutlineWidth = 30, ShadowDistance = 15 }; ppl.Formatting.TranslationText = new PowerPraiseSongFormatting.FontFormatting { Font = new Font("Times New Roman", 20, FontStyle.Regular), Color = Color.White, OutlineWidth = 30, ShadowDistance = 20 }; ppl.Formatting.CopyrightText = new PowerPraiseSongFormatting.FontFormatting { Font = new Font("Times New Roman", 14, FontStyle.Regular), Color = Color.White, OutlineWidth = 30, ShadowDistance = 20 }; ppl.Formatting.SourceText = new PowerPraiseSongFormatting.FontFormatting { Font = new Font("Times New Roman", 30, FontStyle.Regular), Color = Color.White, OutlineWidth = 30, ShadowDistance = 20 }; ppl.Formatting.Outline = new PowerPraiseSongFormatting.OutlineFormatting { Color = Color.Black, Enabled = false }; ppl.Formatting.Shadow = new PowerPraiseSongFormatting.ShadowFormatting { Color = Color.Black, Direction = 125, Enabled = true }; // Line spacing ppl.Formatting.MainLineSpacing = 30; ppl.Formatting.TranslationLineSpacing = 20; // Text orientation ppl.Formatting.TextOrientation = new TextOrientation(VerticalOrientation.Middle, HorizontalOrientation.Left); ppl.Formatting.TranslationPosition = TranslationPosition.Inline; // Borders ppl.Formatting.Borders = new PowerPraiseSongFormatting.TextBorders { TextLeft = 50, TextTop = 40, TextRight = 60, TextBottom = 70, CopyrightBottom = 30, SourceTop = 20, SourceRight = 40 }; return(ppl); }
protected bool Equals(SongAuthor other) { return(Type == other.Type && string.Equals(Name, other.Name)); }
public void LoadTest() { SongSelectFileMapper mapper = new SongSelectFileMapper(); SongSelectFile source = new SongSelectFile { Title = "Ein Lied für Gott", Author = "Muster, Hans", Copyright = "Gemeinfrei (Public Domain)", Admin = "Verlag ABC", Key = "E" }; source.Themes.Add("Celebration"); source.Themes.Add("God's Attributes"); source.Themes.Add("Love"); source.Themes.Add("Joy"); var verse = new SongSelectFile.Verse { Caption = "Vers 1" }; verse.Lines.Add("Lorem ipsum dolor sit amet,"); verse.Lines.Add("consectetur adipiscing elit."); verse.Lines.Add("Vivamus odio massa,"); verse.Lines.Add("lacinia in mollis quis,"); verse.Lines.Add("vehicula sed justo"); source.Verses.Add(verse); verse = new SongSelectFile.Verse { Caption = "Vers 2" }; verse.Lines.Add("Nunc cursus libero non quam lobortis"); verse.Lines.Add("ac pharetra leo facilisis."); verse.Lines.Add("Proin tortor tellus,"); verse.Lines.Add("fermentum mattis euismod eu,"); verse.Lines.Add("faucibus vel justo."); source.Verses.Add(verse); verse = new SongSelectFile.Verse { Caption = "Vers 3" }; verse.Lines.Add("Fusce pellentesque rhoncus felis,"); verse.Lines.Add("eu convallis ante tempus a."); verse.Lines.Add("Cum sociis natoque penatibus"); verse.Lines.Add("et magnis dis parturient montes,"); verse.Lines.Add("nascetur ridiculus mus."); source.Verses.Add(verse); Song expected = new Song { Title = "Ein Lied für Gott" }; expected.Themes.Add("Celebration"); expected.Themes.Add("God's Attributes"); expected.Themes.Add("Love"); expected.Themes.Add("Joy"); var aut = new SongAuthor { Name = "Muster, Hans" }; expected.Authors.Add(aut); expected.Copyright = "Gemeinfrei (Public Domain)"; expected.RightsManagement = "Verlag ABC"; expected.Key = "E"; var part = new SongPart { Caption = "Vers 1" }; var slide = new SongSlide(); slide.Lines.Add("Lorem ipsum dolor sit amet,"); slide.Lines.Add("consectetur adipiscing elit."); slide.Lines.Add("Vivamus odio massa,"); slide.Lines.Add("lacinia in mollis quis,"); slide.Lines.Add("vehicula sed justo"); part.Slides.Add(slide); expected.Parts.Add(part); part = new SongPart { Caption = "Vers 2" }; slide = new SongSlide(); slide.Lines.Add("Nunc cursus libero non quam lobortis"); slide.Lines.Add("ac pharetra leo facilisis."); slide.Lines.Add("Proin tortor tellus,"); slide.Lines.Add("fermentum mattis euismod eu,"); slide.Lines.Add("faucibus vel justo."); part.Slides.Add(slide); expected.Parts.Add(part); part = new SongPart { Caption = "Vers 3" }; slide = new SongSlide(); slide.Lines.Add("Fusce pellentesque rhoncus felis,"); slide.Lines.Add("eu convallis ante tempus a."); slide.Lines.Add("Cum sociis natoque penatibus"); slide.Lines.Add("et magnis dis parturient montes,"); slide.Lines.Add("nascetur ridiculus mus."); part.Slides.Add(slide); expected.Parts.Add(part); Song actual = mapper.Map(source); Assert.AreEqual(expected.Title, actual.Title, "Wrong song title"); Assert.AreEqual(expected.Language, actual.Language, "Wrong language"); Assert.AreEqual(expected.Copyright, actual.Copyright, "Wrong copyright"); Assert.AreEqual(expected.RightsManagement, actual.RightsManagement, "Wrong RightsManagement"); Assert.AreEqual(expected.Key, actual.Key, "Wrong key"); for (int i = 0; i < expected.Themes.Count; i++) { Assert.AreEqual(expected.Themes[i], actual.Themes[i], "Wrong theme"); } for (int i = 0; i < expected.Authors.Count; i++) { Assert.AreEqual(expected.Authors[i].Name, actual.Authors[i].Name, "Wrong Author"); } Assert.AreEqual(expected.Parts.Count, actual.Parts.Count, "Parts incomplete"); for (int i = 0; i < expected.Parts.Count; i++) { Assert.AreEqual(expected.Parts[i].Caption, actual.Parts[i].Caption, "Wrong verse name in verse " + i); Assert.AreEqual(expected.Parts[i].Slides.Count, actual.Parts[i].Slides.Count, "Slides incomplete in verse " + i); for (int j = 0; j < expected.Parts[i].Slides.Count; j++) { Assert.AreEqual(expected.Parts[i].Slides[j].Lines.Count, actual.Parts[i].Slides[j].Lines.Count, "Slide lines incomplete in verse " + i + " slide " + j); for (int k = 0; k < expected.Parts[i].Slides[j].Lines.Count; k++) { Assert.AreEqual(expected.Parts[i].Slides[j].Lines[k], actual.Parts[i].Slides[j].Lines[k], "Wrong slide lyrics"); } } } }