private static void CheckEndTime <TTimeSpan>(ITimeSpan time, ITimeSpan length, TTimeSpan expectedEndTime) where TTimeSpan : ITimeSpan { var tempoMap = TempoMap.Default; var note = new NoteMethods().Create(time, length, tempoMap); TimeSpanTestUtilities.AreEqual(expectedEndTime, note.EndTimeAs <TTimeSpan>(tempoMap), "End time is invalid."); }