示例#1
0
        public void PullOutputDataShouldThrowForMissingDevice()
        {
            var e   = new Epoch(UNUSED_PROTOCOL_ID);
            var dev = new UnitConvertingExternalDevice("name", "co", new Measurement(1.0m, "units"));

            ArgumentException caught = null;

            try
            {
                e.PullOutputData(dev, TimeSpan.FromMilliseconds(100));
            }
            catch (ArgumentException ex)
            {
                caught = ex;
            }

            Assert.That(caught, Is.Not.Null);
        }
示例#2
0
        public void PullOuputDataShouldReturnBackgroundWhenNoStimulusRegisteredForDevice()
        {
            var e   = new Epoch(UNUSED_PROTOCOL_ID);
            var dev = new UnitConvertingExternalDevice("name", "co", new Measurement(1.0m, "units"));

            var bg = new Measurement(1.1m, "units");

            e.Background[dev] = new Epoch.EpochBackground(bg, new Measurement(1000, "Hz"));

            var duration = TimeSpan.FromSeconds(1.1);
            var data     = e.PullOutputData(dev, duration);

            Assert.That(data.Duration, Is.EqualTo(duration));
            Assert.That(data.Data.All(m => m.BaseUnit == bg.BaseUnit));
            foreach (var m in data.Data)
            {
                Assert.That(m.QuantityInBaseUnit, Is.EqualTo(bg.QuantityInBaseUnit).Within(0.0001));
            }
            Assert.That(data.Data.All(m => m.QuantityInBaseUnit == bg.QuantityInBaseUnit));
        }