public void TestMixOption()
        {
            var  handler = CreateAutoCommandHandler("MixOption");
            bool tested  = false;

            AtemMockServerWrapper.Each(_output, _pool, handler, DeviceTestCases.ClassicAudioMain, helper =>
            {
                IEnumerable <long> useIds = helper.Helper.BuildLibState().Audio.Inputs.Where(i =>
                                                                                             i.Value.Properties.PortType == AudioPortType.SDI ||
                                                                                             i.Value.Properties.PortType == AudioPortType.HDMI).Select(i => i.Key).ToList();
                foreach (long id in useIds)
                {
                    AtemState stateBefore = helper.Helper.BuildLibState();
                    var inputState        = stateBefore.Audio.Inputs[id].Properties;

                    IBMDSwitcherAudioInput input = GetInput(helper, id);
                    tested = true;

                    for (int i = 0; i < 5; i++)
                    {
                        AudioMixOption target = Randomiser.EnumValue <AudioMixOption>();
                        if (id >= 2000 && target == AudioMixOption.On)
                        {
                            // Not supported
                            continue;
                        }

                        _BMDSwitcherAudioMixOption target2 = AtemEnumMaps.AudioMixOptionMap[target];
                        inputState.MixOption = target;
                        helper.SendAndWaitForChange(stateBefore, () => { input.SetMixOption(target2); });
                    }
                }
            });
            Assert.True(tested);
        }