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); }
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)); }