public void PriorityMaskCalculationThirdTest() { var pd = new PriorityDiscover(); var notes = new List<ValueNote> { note, bnote, dnote, anote }; var measure = new Measure(notes, attributes3); pd.CalculatePriorityMask(measure); // так как минимальная длительность ноты в такте 1/16 то маска приоритетов должна разложиться (посчитаться) до 1/32 // размер 13/16, поэтому будет считаться приоритет для 26/32 нот Assert.AreEqual(0, pd.PriorityMask.NoteList[0].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[1].Priority); Assert.AreEqual(2, pd.PriorityMask.NoteList[2].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[3].Priority); Assert.AreEqual(1, pd.PriorityMask.NoteList[4].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[5].Priority); Assert.AreEqual(2, pd.PriorityMask.NoteList[6].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[7].Priority); Assert.AreEqual(1, pd.PriorityMask.NoteList[8].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[9].Priority); Assert.AreEqual(2, pd.PriorityMask.NoteList[10].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[11].Priority); Assert.AreEqual(1, pd.PriorityMask.NoteList[12].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[13].Priority); Assert.AreEqual(2, pd.PriorityMask.NoteList[14].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[15].Priority); Assert.AreEqual(1, pd.PriorityMask.NoteList[16].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[17].Priority); Assert.AreEqual(2, pd.PriorityMask.NoteList[18].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[19].Priority); Assert.AreEqual(1, pd.PriorityMask.NoteList[20].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[21].Priority); Assert.AreEqual(2, pd.PriorityMask.NoteList[22].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[23].Priority); Assert.AreEqual(2, pd.PriorityMask.NoteList[24].Priority); Assert.AreEqual(3, pd.PriorityMask.NoteList[25].Priority); // проверка длительностей foreach (var lnote in pd.PriorityMask.NoteList) { Assert.AreEqual(1, lnote.Duration.Numerator); Assert.AreEqual(32, lnote.Duration.Denominator); } }
public void PriorityMaskCalculationFourthTest() { var pd = new PriorityDiscover(); var notes = new List<ValueNote> { note, anote }; var measure = new Measure(notes, attributes1); pd.CalculatePriorityMask(measure); // так как минимальная длительность ноты в такте 1/4 то маска приоритетов должна разложиться (посчитаться) до 1/4 // размер 3/4, поэтому будет считаться приоритет для 3/4 нот Assert.AreEqual(0, pd.PriorityMask.NoteList[0].Priority); Assert.AreEqual(2, pd.PriorityMask.NoteList[1].Priority); Assert.AreEqual(1, pd.PriorityMask.NoteList[2].Priority); Assert.AreEqual(2, pd.PriorityMask.NoteList[3].Priority); Assert.AreEqual(1, pd.PriorityMask.NoteList[4].Priority); Assert.AreEqual(2, pd.PriorityMask.NoteList[5].Priority); // проверка длительностей foreach (var lnote in pd.PriorityMask.NoteList) { Assert.AreEqual(1, lnote.Duration.Numerator); Assert.AreEqual(8, lnote.Duration.Denominator); } }