public void ConvertBrevePositionChord()
        {
            Sequence metricSequence = SequenceHandler.CreateNewSequence("kind of test", "Breve position Chord", "noPage", "Tenor", 3);
            Panel    metricPanel    = MeiImport.ImportDocument("..\\..\\files\\tests\\MetricSequenceChord.xml").Root.Descendants <Panel>().FirstOrDefault();

            SequenceHandler.FlattenMeiToSequence(metricPanel, metricSequence);
            Controller.BuildSequence(metricSequence);

            SequenceConversion.ConvertBrevePosition(metricSequence);

            foreach (ObjectInSequence obj in metricSequence.ObjectsInSequence)
            {
                IAttCommon corresp = (IAttCommon)metricPanel.Descendants().FirstOrDefault(element => element.GetId() == obj.ID);

                if (corresp.HasN())
                {
                    Fraction exp = new Fraction(corresp.GetNValue());

                    if (obj is Model.Rest rest)
                    {
                        //Check if expected value is not null and then compare
                        Assert.IsNotNull(exp);
                        Assert.AreEqual(exp, rest.BrevePosition);
                    }
                }
            }

            metricPanel    = null;
            metricSequence = null;
        }
        public void ConvertBrevePositionGap()
        {
            Sequence metricSequence = SequenceHandler.CreateNewSequence("kind of test", "Breve position with gaps", "noPage", "Tenor", 3);
            Panel    metricPanel    = MeiImport.ImportDocument("..\\..\\files\\tests\\MetricSequenceDamage.xml").Root.Descendants <Panel>().FirstOrDefault();

            SequenceHandler.FlattenMeiToSequence(metricPanel, metricSequence);
            Controller.BuildSequence(metricSequence);

            SequenceConversion.ConvertBrevePosition(metricSequence);

            foreach (ObjectInSequence obj in metricSequence.ObjectsInSequence)
            {
                if (obj is Model.Rest rest)
                {
                    IAttCommon corresp = (IAttCommon)metricPanel.Descendants().FirstOrDefault(element => element.GetId() == obj.ID);

                    Fraction expBP  = 0;
                    Fraction expPaG = 0;

                    if (corresp.HasN())
                    {
                        expBP = new Fraction(corresp.GetNValue());
                    }
                    else if (corresp.HasLabel())
                    {
                        expPaG = new Fraction(corresp.GetLabelValue());
                    }

                    //Check if expected value is not null and then compare
                    if (expBP != 0)
                    {
                        Assert.AreEqual(expBP, rest.BrevePosition);
                    }
                    else if (expPaG != 0)
                    {
                        Assert.AreEqual(expPaG, rest.AfterGapPosition);
                    }
                    else
                    {
                        Assert.Fail();
                    }
                }
            }

            metricPanel    = null;
            metricSequence = null;
        }
Пример #3
0
 public static void RemoveN(this IAttCommon e)
 {
     MeiAtt_controller.RemoveAttribute(e, "n");
 }
Пример #4
0
 public static bool HasN(this IAttCommon e)
 {
     return(MeiAtt_controller.HasAttribute(e, "n"));
 }
Пример #5
0
 public static string GetNValue(this IAttCommon e)
 {
     return(MeiAtt_controller.GetAttributeValue(e, "n"));
 }
Пример #6
0
 public static XAttribute GetNAttribute(this IAttCommon e)
 {
     return(MeiAtt_controller.GetAttribute(e, "n"));
 }
Пример #7
0
 public static void SetN(this IAttCommon e, string _val)
 {
     MeiAtt_controller.SetAttribute(e, "n", _val);
 }