public static Note Execute(Tact tact) { var result = new Note(); foreach (var current in tact.Notes) { if (result.Denominator == default) { result.Numerator = current.Numerator; result.Denominator = current.Denominator; continue; } if (current.Denominator == result.Denominator) { result.Numerator++; continue; } LeadToCommonDenominator(result, current); result.Numerator += current.Numerator; } Optimizator.ExecuteForNote(result); return(result); }
public void RunTactCalculateTests(Tact tact, Note expectedNote) { var actualNote = Calculator.Execute(tact); Assert.True(actualNote.Numerator == expectedNote.Numerator && actualNote.Denominator == expectedNote.Denominator); }