public void TestGain()
        {
            var handler = CommandGenerator.CreateAutoCommandHandler <AudioMixerMonitorSetCommand, AudioMixerMonitorGetCommand>("Gain");

            AtemMockServerWrapper.Each(_output, _pool, handler, DeviceTestCases.ClassicAudioMonitors, helper =>
            {
                IBMDSwitcherAudioMonitorOutput monitor = GetMonitor(helper);
                AtemState stateBefore = helper.Helper.BuildLibState();
                AudioState.MonitorOutputState monState = stateBefore.Audio.MonitorOutputs.Single();

                for (int i = 0; i < 5; i++)
                {
                    double target = Randomiser.Range();
                    monState.Gain = target;
                    helper.SendAndWaitForChange(stateBefore, () => { monitor.SetGain(target); });
                }
            });
        }