private static void TestRemoveAt() { Track a = new Track(); ChannelMessage message = new ChannelMessage(ChannelCommand.NoteOff, 0, 60, 0); a.Insert(0, message); a.Insert(10, message); a.Insert(20, message); a.Insert(30, message); a.Insert(40, message); int count = a.Count; a.RemoveAt(0); Debug.Assert(a.Count == count - 1); a.RemoveAt(a.Count - 2); Debug.Assert(a.Count == count - 2); Debug.Assert(a.GetMidiEvent(0).AbsoluteTicks == 10); Debug.Assert(a.GetMidiEvent(a.Count - 2).AbsoluteTicks == 30); a.RemoveAt(0); a.RemoveAt(0); a.RemoveAt(0); Debug.Assert(a.Count == 1); }