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); }