Ejemplo n.º 1
0
        public void OutputDataConversion()
        {
            IDictionary <string, object> config = new Dictionary <string, object>(2);

            config["param1"] = 10;
            config["param2"] = 1;

            IMeasurement srate = new Measurement(1000, "Hz");


            IOutputData outData = new OutputData(this.Data,
                                                 srate, false)
                                  .DataWithExternalDeviceConfiguration(devFake, new Dictionary <string, object>())
                                  .DataWithStreamConfiguration(streamFake, new Dictionary <string, object>());

            outData.OutputTime = DateTimeOffset.Now;

            Converters.Clear();
            ConvertProc fooConversion = (m) => new Measurement(m.QuantityInBaseUnit * 10, 1, "foo");

            Converters.Register("V", "foo", fooConversion);

            IOutputData expected = new OutputData(outData,
                                                  outData.Data.Select(m => new Measurement(m.QuantityInBaseUnit * 10, 1, "foo")).ToList());

            expected.OutputTime = outData.OutputTime;

            Assert.NotNull(expected.NodeConfigurationWithName(devFake.Name));
            Assert.NotNull(expected.NodeConfigurationWithName(streamFake.Name));
            IOutputData actual = outData.DataWithUnits("foo");

            Assert.AreEqual(expected.Data, actual.Data);
            Assert.AreEqual(expected.NodeConfigurationWithName(devFake.Name),
                            actual.NodeConfigurationWithName(devFake.Name));
            Assert.AreEqual(expected.NodeConfigurationWithName(streamFake.Name),
                            actual.NodeConfigurationWithName(streamFake.Name));
            Assert.AreEqual(expected.OutputTime, actual.OutputTime);
        }