public void WithChannelTest()
        {
            IMidiControlChangeComposer composer = GetComposer();

            for (byte i = 1; i <= 16; i++)
            {
                Assert.AreSame(composer, composer.WithChannel(i));
            }
        }
        private IMidiControlChangeComposer GetComposer()
        {
            IMidiOutputDevice device = MidiDeviceLocator.SelectForOutput(0);

            Assume.That(device != null);

            IMidiControlChangeComposer composer = device.ComposeControlChange();

            Assume.That(composer != null);
            return(composer);
        }
        public void WithValueTest()
        {
            IMidiControlChangeComposer composer = GetComposer();

            Assert.AreSame(composer, composer.WithValue(1));
        }
        public void WithChannel_InvalidTest(byte channel)
        {
            IMidiControlChangeComposer composer = GetComposer();

            Assert.Throws <ArgumentException>(() => composer.WithChannel(channel));
        }