Пример #1
0
        public void OverflowTest()
        {
            ChannelAllocator allocator = new ChannelAllocator();

            List <SingleBeat> test =
                new List <SingleBeat>(
                    Enumerable.Range(0, 20).Select(i => new SingleBeat(InstrumentType.AccousticGrandPiano + i, 64, 64, i * 0.1, (i * 0.1) + 3)));

            Assert.Throws <OutOfChannelsException>(() => allocator.Add(test));
        }
Пример #2
0
        public void ChannelRotation()
        {
            ChannelAllocator allocator = new ChannelAllocator();

            List <SingleBeat> test =
                new List <SingleBeat>(
                    Enumerable.Range(0, 20).Select(i => new SingleBeat(InstrumentType.AccousticGrandPiano + i, 64, 64, i * 2, (i * 2) + 1)));

            Assert.DoesNotThrow(() => allocator.Add(test));
        }
Пример #3
0
        public void ChannelRotationReuse()
        {
            ChannelAllocator allocator = new ChannelAllocator();

            List <SingleBeat> test =
                new List <SingleBeat>(
                    Enumerable.Range(0, 20).Select(i => new SingleBeat(InstrumentType.AccousticGrandPiano + i, 64, 64, i * 2, (i * 2) + 1)));

            List <SingleBeat> test2 =
                new List <SingleBeat>(
                    Enumerable.Range(0, 20).Select(i => new SingleBeat(InstrumentType.AccousticGrandPiano + i, 64, 64, (i * 2) + 45, (i * 2) + 46)));

            Assert.DoesNotThrow(() => allocator.Add(test));

            Assert.DoesNotThrow(() => allocator.Add(test2));

            List <SimpleMidiMessage> list = new List <SimpleMidiMessage>(new AsEnumerable(allocator));

            CollectionAssert.IsOrdered(list, new Comp());
        }
Пример #4
0
        public void SauritateTest()
        {
            ChannelAllocator allocator = new ChannelAllocator();

            List <SingleBeat> test =
                new List <SingleBeat>(
                    Enumerable.Range(0, 99).Select(i => new SingleBeat(InstrumentType.AccousticGrandPiano + (i % 15), 64, 64, i * 0.1, (i * 0.1) + 1.5)));

            Assert.DoesNotThrow(() => allocator.Add(test));

            List <SimpleMidiMessage> list = new List <SimpleMidiMessage>(new AsEnumerable(allocator));

            CollectionAssert.IsOrdered(list, new Comp());
        }