private static RunService GetRunServiceForSensorImpulseHandlingTest(IRaceClock raceClock) { var existingMeasurementsTimestamps = new[] { 1576850000.000, 1576850001.111, 1576850002.222 }; var sensorMeasurementDaoMock = new Mock <ISensorMeasurementDao>(); sensorMeasurementDaoMock.Setup(d => d.GetMeasurementsForRun(It.IsAny <Run>())) .Returns(Task.FromResult( existingMeasurementsTimestamps.Select((t, i) => new SensorMeasurement { SensorId = i, Timestamp = t }) )); var runDaoMock = new Mock <IRunDao>(); runDaoMock.Setup(d => d.GetCurrentRun()) .Returns(Task.FromResult( new Run { Race = new Race { NumberOfSensors = existingMeasurementsTimestamps.Length + 1 } } )); var daoProvider = DaoProviderHelper.GetPartialDaoProvider( runDao: runDaoMock.Object, sensorMeasurementDao: sensorMeasurementDaoMock.Object ); return(new RunService(daoProvider, raceClock)); }
public RunService(DaoProvider daoProvider, IRaceClock raceClock) : base(daoProvider) { raceClock.TimingTriggered += HandleNewSensorMeasurement; }