public void Import() { var importer = new GuitarMusicXmlImporter(); XmlDocument xmlDoc = importer.OpenMusicXmlFile(MusicXmlTest); var track = new TrackInfo() { Id = "P1", Name = "" }; SortedList <GuitarScoreNote, GuitarScoreNote> scoreNotes = importer.Import(xmlDoc, track); Assert.AreEqual(6, scoreNotes.Count); //Test only the last note (all generated notes was tested in ConvertNotesInGuitarScoreNote test case) { var scoreNote = scoreNotes.ElementAt(5).Value; Assert.AreEqual("G#4", scoreNote.NoteId); Assert.AreEqual(5, scoreNote.Beat); Assert.AreEqual(0, scoreNote.Tick); Assert.AreEqual(1920, scoreNote.DurationInTicks); Assert.AreEqual(0, scoreNote.MomentInMiliseconds); Assert.AreEqual(4, scoreNote.DefaultNotePosition.String); Assert.AreEqual(6, scoreNote.DefaultNotePosition.Fret); } }
public void GenerateSongFile_when_you_where_young() { var importer = new GuitarMusicXmlImporter(); XmlDocument xmlDoc = importer.OpenMusicXmlFile(MusicXml_when_you_where_young); var track = new TrackInfo() { Id = "P1", Name = "" }; SortedList <GuitarScoreNote, GuitarScoreNote> scoreNotes = importer.Import(xmlDoc, track); var artist = "The Killers"; var title = "When You Where Young"; var xmlScoreWriter = new XmlScoreWriter(artist, title, PlayingMode.EletricGuitarScore, scoreNotes); if (File.Exists(SongFile_when_you_where_young)) { File.Delete(SongFile_when_you_where_young); } xmlScoreWriter.SaveXmlNotesToFile(SongFile_when_you_where_young); Assert.IsTrue(File.Exists(SongFile_when_you_where_young)); }
public void OpenMusicXmlFile() { var importer = new GuitarMusicXmlImporter(); XmlDocument xmlDoc = importer.OpenMusicXmlFile(MusicXmlTest); Assert.IsNotNull(xmlDoc); }
public void InvalidScorePartNode_PartIdMissing() { var importer = new GuitarMusicXmlImporter(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml("<score-partwise><part-list><score-part><part-name></part-name></score-part></part-list></score-partwise>"); var exception = Assert.Throws <InvalidXmlMusicFile>(() => importer.ListTracks(xmlDoc)); Assert.AreEqual("'id' attribute was not found in 'score-part' node of a MusicXml file.", exception.Message); }
public void ImporterReturnsTrackListCorrectly() { var importer = new GuitarMusicXmlImporter(); XmlDocument xmlDoc = importer.OpenMusicXmlFile(MusicXmlTest); IList <TrackInfo> tracks = importer.ListTracks(xmlDoc); Assert.IsNotNull(tracks); Assert.AreEqual(2, tracks.Count); Assert.AreEqual("P1", tracks[0].Id); Assert.AreEqual("My Track 1", tracks[0].Name); Assert.AreEqual("P2", tracks[1].Id); Assert.AreEqual("My Track 2", tracks[1].Name); }
public void ConvertNoteTypeToTicks(string pNoteType, DottedType pDottedType, int pTicks) { var importer = new GuitarMusicXmlImporter(); Assert.AreEqual(pTicks, importer.ConvertNoteTypeToTicks(pNoteType, pDottedType)); }
public void ConvertNotesInGuitarScoreNote() { var importer = new GuitarMusicXmlImporter(); XmlDocument xmlDoc = importer.OpenMusicXmlFile(MusicXmlTest); var track = new TrackInfo() { Id = "P1", Name = "" }; XmlNodeList notes = importer.ListAllNotesOfOneTrack(xmlDoc, track); var scoreNotes = new SortedList <GuitarScoreNote, GuitarScoreNote>(); importer.ConvertNotesInGuitarScoreNote(scoreNotes, notes); Assert.AreEqual(6, scoreNotes.Count); { var scoreNote = scoreNotes.ElementAt(0).Value; Assert.AreEqual("C#4", scoreNote.NoteId); Assert.AreEqual(1, scoreNote.Beat); Assert.AreEqual(0, scoreNote.Tick); Assert.AreEqual(480, scoreNote.DurationInTicks); Assert.AreEqual(0, scoreNote.MomentInMiliseconds); Assert.AreEqual(5, scoreNote.DefaultNotePosition.String); Assert.AreEqual(4, scoreNote.DefaultNotePosition.Fret); Assert.AreEqual("C9", scoreNote.RemarkOrChordName); } { var scoreNote = scoreNotes.ElementAt(1).Value; Assert.AreEqual("C#4", scoreNote.NoteId); Assert.AreEqual(2, scoreNote.Beat); Assert.AreEqual(0, scoreNote.Tick); Assert.AreEqual(240, scoreNote.DurationInTicks); Assert.AreEqual(0, scoreNote.MomentInMiliseconds); Assert.AreEqual(5, scoreNote.DefaultNotePosition.String); Assert.AreEqual(4, scoreNote.DefaultNotePosition.Fret); Assert.AreEqual("", scoreNote.RemarkOrChordName); } { var scoreNote = scoreNotes.ElementAt(2).Value; Assert.AreEqual("D4", scoreNote.NoteId); Assert.AreEqual(2, scoreNote.Beat); Assert.AreEqual(240, scoreNote.Tick); Assert.AreEqual(240, scoreNote.DurationInTicks); Assert.AreEqual(0, scoreNote.MomentInMiliseconds); Assert.AreEqual(5, scoreNote.DefaultNotePosition.String); Assert.AreEqual(5, scoreNote.DefaultNotePosition.Fret); Assert.AreEqual("", scoreNote.RemarkOrChordName); } { var scoreNote = scoreNotes.ElementAt(3).Value; Assert.AreEqual("E4", scoreNote.NoteId); Assert.AreEqual(4, scoreNote.Beat); Assert.AreEqual(0, scoreNote.Tick); Assert.AreEqual(480, scoreNote.DurationInTicks); Assert.AreEqual(0, scoreNote.MomentInMiliseconds); Assert.AreEqual(5, scoreNote.DefaultNotePosition.String); Assert.AreEqual(7, scoreNote.DefaultNotePosition.Fret); Assert.AreEqual("E9", scoreNote.RemarkOrChordName); } { var scoreNote = scoreNotes.ElementAt(4).Value; Assert.AreEqual("C#4", scoreNote.NoteId); Assert.AreEqual(5, scoreNote.Beat); Assert.AreEqual(0, scoreNote.Tick); Assert.AreEqual(1920, scoreNote.DurationInTicks); Assert.AreEqual(0, scoreNote.MomentInMiliseconds); Assert.AreEqual(5, scoreNote.DefaultNotePosition.String); Assert.AreEqual(4, scoreNote.DefaultNotePosition.Fret); Assert.AreEqual("", scoreNote.RemarkOrChordName); } { var scoreNote = scoreNotes.ElementAt(5).Value; Assert.AreEqual("G#4", scoreNote.NoteId); Assert.AreEqual(5, scoreNote.Beat); Assert.AreEqual(0, scoreNote.Tick); Assert.AreEqual(1920, scoreNote.DurationInTicks); Assert.AreEqual(0, scoreNote.MomentInMiliseconds); Assert.AreEqual(4, scoreNote.DefaultNotePosition.String); Assert.AreEqual(6, scoreNote.DefaultNotePosition.Fret); Assert.AreEqual("", scoreNote.RemarkOrChordName); } }
public void ListAllNotesOfOneTrack() { var importer = new GuitarMusicXmlImporter(); XmlDocument xmlDoc = importer.OpenMusicXmlFile(MusicXmlTest); var track = new TrackInfo() { Id = "P1", Name = "" }; XmlNodeList nodes = importer.ListAllNotesOfOneTrack(xmlDoc, track); Assert.AreEqual(9, nodes.Count); { Assert.AreEqual("C9", nodes[0].InnerText); } { var step = nodes[1].SelectSingleNode("descendant::step"); Assert.IsNotNull(step); Assert.AreEqual("C", step.InnerText); } { var step = nodes[2].SelectSingleNode("descendant::step"); Assert.IsNotNull(step); Assert.AreEqual("C", step.InnerText); } { var step = nodes[3].SelectSingleNode("descendant::step"); Assert.IsNotNull(step); Assert.AreEqual("D", step.InnerText); } { var step = nodes[4].SelectSingleNode("descendant::step"); Assert.IsNull(step); var rest = nodes[4].SelectSingleNode("descendant::rest"); Assert.IsNotNull(rest); } { Assert.AreEqual("E9", nodes[5].InnerText); } { var step = nodes[6].SelectSingleNode("descendant::step"); Assert.IsNotNull(step); Assert.AreEqual("E", step.InnerText); } { var step = nodes[7].SelectSingleNode("descendant::step"); Assert.IsNotNull(step); Assert.AreEqual("C", step.InnerText); } { var step = nodes[8].SelectSingleNode("descendant::step"); Assert.IsNotNull(step); Assert.AreEqual("G", step.InnerText); } }