public void ConvertAbsolutePitchTest()
        {
            Sequence aPitchSeq   = SequenceHandler.CreateNewSequence("Test", "Absolute Pitch", "noPage", "AbsolutePitch", 1);
            Panel    aPitchPanel = MeiImport.ImportDocument("..\\..\\files\\tests\\AbsolutePitch.xml").Root.Descendants <Panel>().FirstOrDefault();

            SequenceHandler.FlattenMeiToSequence(aPitchPanel, aPitchSeq);
            Controller.BuildSequence(aPitchSeq);
            SequenceConversion.ConvertAbsolutePitch(aPitchSeq);

            foreach (Model.Note note in aPitchSeq.ObjectsInSequence.Where(item => item is Model.Note))
            {
                Assert.IsNotNull(note.WrittenPitch);

                mei.Note corresp = (mei.Note)aPitchPanel.Descendants().FirstOrDefault(element => element.GetId() == note.ID);

                if (corresp.HasPnum())
                {
                    if (Int32.TryParse(corresp.GetPnumValue(), out int pnum))
                    {
                        Assert.AreEqual(pnum, note.PitchWithAccid);
                    }
                    else
                    {
                        throw new ArgumentNullException("Pnum could not be parsed!");
                    }
                }
            }
        }
 /// <summary>
 /// Builds each sequence in list and calculates logical parameters
 /// </summary>
 /// <param name="_sequences">List of unconverted sequences</param>
 private void ConvertSequences(List <Sequence> _sequences)
 {
     foreach (Sequence seq in _sequences)
     {
         Controller.BuildSequence(seq);
         SequenceConversion.ConvertBrevePosition(seq);
         SequenceConversion.ConvertAbsolutePitch(seq);
     }
 }