public void ShouldUseBackgroundForMode() { const string VClampUnits = "V"; const string IClampUnits = "A"; Measurement VClampBackground = new Measurement(2, -3, VClampUnits); Measurement IClampBackground = new Measurement(-10, -3, IClampUnits); var c = new Controller(); var p = new FakeAxopatch(); var bg = new Dictionary<AxopatchInterop.OperatingMode, IMeasurement>() { {AxopatchInterop.OperatingMode.VClamp, VClampBackground}, {AxopatchInterop.OperatingMode.IClampNormal, IClampBackground}, }; var patch = new AxopatchDevice(p, c, bg); patch.BindStream(new DAQOutputStream("stream")); var data = new AxopatchInterop.AxopatchData() { OperatingMode = AxopatchInterop.OperatingMode.VClamp, ExternalCommandSensitivity = 2.5, ExternalCommandSensitivityUnits = AxopatchInterop.ExternalCommandSensitivityUnits.V_V }; p.Data = data; Assert.That(patch.OutputBackground, Is.EqualTo(AxopatchDevice.ConvertOutput(VClampBackground, patch.CurrentDeviceParameters))); data = new AxopatchInterop.AxopatchData() { OperatingMode = AxopatchInterop.OperatingMode.IClampNormal, ExternalCommandSensitivity = 1.5, ExternalCommandSensitivityUnits = AxopatchInterop.ExternalCommandSensitivityUnits.A_V }; p.Data = data; Assert.That(patch.OutputBackground, Is.EqualTo(AxopatchDevice.ConvertOutput(IClampBackground, patch.CurrentDeviceParameters))); }