Esempio n. 1
0
        public void CheckFileEventsReceiving()
        {
            var filesToTest = TestFilesProvider.GetValidFiles(
                f => f.GetTrackChunks().Count() == 1,
                f => (TimeSpan)f.GetDuration <MetricTimeSpan>() < TimeSpan.FromSeconds(30))
                              .Take(5)
                              .ToArray();

            for (var i = 0; i < filesToTest.Length; i++)
            {
                var file     = filesToTest[i];
                var tempoMap = file.GetTempoMap();

                var eventsToSend = new List <EventToSend>();
                var currentTime  = TimeSpan.Zero;

                foreach (var timedEvent in file.GetTimedEvents().Where(e => !(e.Event is MetaEvent)))
                {
                    var time        = (TimeSpan)timedEvent.TimeAs <MetricTimeSpan>(tempoMap);
                    var eventToSend = new EventToSend(timedEvent.Event, time - currentTime);
                    currentTime = time;
                    eventsToSend.Add(eventToSend);
                }

                SendReceiveUtilities.CheckEventsReceiving(eventsToSend);
            }
        }
Esempio n. 2
0
        public void CheckEventsReceiving_AllEventTypes_ExceptSysEx()
        {
            var events = TypesProvider.GetAllEventTypes()
                         .Where(t => !typeof(MetaEvent).IsAssignableFrom(t) && !typeof(SysExEvent).IsAssignableFrom(t))
                         .Select(t => (MidiEvent)Activator.CreateInstance(t))
                         .ToArray();

            CollectionAssert.IsNotEmpty(events, "Events collection is empty.");
            SendReceiveUtilities.CheckEventsReceiving(events.Select(e => new EventToSend(e, TimeSpan.Zero)).ToArray());
        }
Esempio n. 3
0
 public void CheckEventsReceiving()
 {
     SendReceiveUtilities.CheckEventsReceiving(new[]
     {
         new EventToSend(new NoteOnEvent((SevenBitNumber)100, (SevenBitNumber)20)
         {
             Channel = (FourBitNumber)5
         }, TimeSpan.Zero),
         new EventToSend(new NormalSysExEvent(new byte[] { 1, 2, 3, 0xF7 }), TimeSpan.FromSeconds(1)),
         new EventToSend(new NoteOffEvent((SevenBitNumber)100, (SevenBitNumber)10)
         {
             Channel = (FourBitNumber)5
         }, TimeSpan.FromSeconds(2)),
         new EventToSend(new NormalSysExEvent(new byte[] { 4, 5, 6, 0xF7 }), TimeSpan.FromSeconds(2)),
         new EventToSend(new SongSelectEvent((SevenBitNumber)20), TimeSpan.Zero),
         new EventToSend(new TuneRequestEvent(), TimeSpan.FromMilliseconds(200)),
     });
 }