protected bool Equals(SongSelectFile other) { return(string.Equals(CcliIdentifier, other.CcliIdentifier) && string.Equals(Title, other.Title) && string.Equals(Author, other.Author) && string.Equals(Copyright, other.Copyright) && string.Equals(Admin, other.Admin) && Equals(Themes, other.Themes) && string.Equals(Key, other.Key) && Equals(Verses, other.Verses)); }
public void LoadTest() { ISongFileReader <SongSelectFile> reader = new SongSelectFileReader(); const string filename = "Resources/ccli/Ein Lied für Gott.usr"; SongSelectFile expected = new SongSelectFile { Title = "Ein Lied für Gott" }; expected.Themes.Add("Celebration"); expected.Themes.Add("God's Attributes"); expected.Themes.Add("Love"); expected.Themes.Add("Joy"); expected.Author = "Muster, Hans"; expected.Copyright = "Gemeinfrei (Public Domain)"; expected.Admin = "Verlag ABC"; expected.Key = "E"; var part = new SongSelectFile.Verse { Caption = "Vers 1" }; part.Lines.Add("Lorem ipsum dolor sit amet,"); part.Lines.Add("consectetur adipiscing elit."); part.Lines.Add("Vivamus odio massa,"); part.Lines.Add("lacinia in mollis quis,"); part.Lines.Add("vehicula sed justo"); expected.Verses.Add(part); part = new SongSelectFile.Verse { Caption = "Vers 2" }; part.Lines.Add("Nunc cursus libero non quam lobortis"); part.Lines.Add("ac pharetra leo facilisis."); part.Lines.Add("Proin tortor tellus,"); part.Lines.Add("fermentum mattis euismod eu,"); part.Lines.Add("faucibus vel justo."); expected.Verses.Add(part); part = new SongSelectFile.Verse { Caption = "Vers 3" }; part.Lines.Add("Fusce pellentesque rhoncus felis,"); part.Lines.Add("eu convallis ante tempus a."); part.Lines.Add("Cum sociis natoque penatibus"); part.Lines.Add("et magnis dis parturient montes,"); part.Lines.Add("nascetur ridiculus mus."); expected.Verses.Add(part); SongSelectFile actual = reader.Load(filename); Assert.AreEqual(expected.Title, actual.Title, "Wrong song title"); Assert.AreEqual(expected.Title, actual.GetTitle(), "Wrong song title"); Assert.AreEqual(expected.Author, actual.Author, "Wrong song title"); Assert.AreEqual(expected.Copyright, actual.Copyright, "Wrong copyright"); Assert.AreEqual(expected.Admin, actual.Admin, "Wrong RightsManagement"); Assert.AreEqual(expected.Key, actual.Key, "Wrong key"); CollectionAssert.AreEqual(expected.Themes, actual.Themes, "Wrong themes"); Assert.AreEqual(expected.Verses.Count, actual.Verses.Count, "Verses incomplete"); for (int i = 0; i < expected.Verses.Count; i++) { Assert.AreEqual(expected.Verses[i].Caption, actual.Verses[i].Caption, "Wrong verse name in verse " + i); CollectionAssert.AreEqual(expected.Verses[i].Lines, actual.Verses[i].Lines, "Verse lines incomplete in verse " + i); } }
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"); } } } }