コード例 #1
0
        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)));
        }