public void InitializeAsyncTest() { var mockClockProvider = new Mock <IRaceClockProvider>(); var mockSensorDao = new Mock <ISensorDao>(); var mockClock = new Mock <IRaceClock>(); mockClockProvider.Setup(cp => cp.GetRaceClock()).ReturnsAsync(mockClock.Object); mockSensorDao.Setup(sd => sd.GetLastSensorNumber(It.IsAny <int>())).ReturnsAsync(2); var service = new ActiveRaceControlService(1, null, null, null, null, null, null, mockSensorDao.Object, mockClockProvider.Object, null, null); Assert.DoesNotThrowAsync(async() => await service.InitializeAsync()); }
public async Task TestSensorValidation(int sensorNumber, DateTime sensorDateTime, StartList?currentSkier, DateTime?startTime, int average, List <TimeData> currentSkierTimes, int diffToAverage, TimeData?ret, List <int> averageAssumption, int lastSensor, Sensor sensor, bool result) { var mockClockProvider = new Mock <IRaceClockProvider>(); var mockClock = new MockClock(); var mockActiveRaceService = new Mock <IActiveRaceService>(); var mockTimeDataDao = new Mock <ITimeDataDao>(); var mockSensorConfig = new SensorConfig(diffToAverage, averageAssumption); var mockSensorDao = new Mock <ISensorDao>(); var mockRaceData = new Mock <IRaceDataDao>(); var mockRaceEventDao = new Mock <IRaceEventDao>(); var mockSkierEventDao = new Mock <ISkierEventDao>(); var mockStartListDao = new Mock <IStartListDao>(); mockSensorDao.Setup(sd => sd.GetLastSensorNumber(It.IsAny <int>())).ReturnsAsync(lastSensor); mockSensorDao.Setup(sd => sd.GetSensorForSensorNumber(It.IsAny <int>(), It.IsAny <int>())) .ReturnsAsync(sensor); mockActiveRaceService.Setup(rc => rc.GetCurrentSkier(It.IsAny <int>())).ReturnsAsync(currentSkier); mockRaceData.Setup(rd => rd.InsertGetIdAsync(It.IsAny <RaceData>())).ReturnsAsync(1); mockClockProvider.Setup(provider => provider.GetRaceClock()).ReturnsAsync(mockClock); mockSkierEventDao.Setup(skd => skd.InsertGetIdAsync(It.IsAny <SkierEvent>())).ReturnsAsync(1); mockTimeDataDao.Setup(tdd => tdd.FindByIdAsync(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())) .ReturnsAsync(ret); mockTimeDataDao.Setup(tdd => tdd.GetStartTimeForStartList(It.IsAny <int>(), It.IsAny <int>())) .ReturnsAsync(startTime); mockTimeDataDao.Setup(dd => dd.GetTimeDataForStartList(It.IsAny <int>(), It.IsAny <int>())) .ReturnsAsync(currentSkierTimes); var service = new ActiveRaceControlService(1, null, mockStartListDao.Object, mockRaceEventDao.Object, mockRaceData.Object, mockSkierEventDao.Object, mockTimeDataDao.Object, mockSensorDao.Object, mockClockProvider.Object, mockSensorConfig, mockActiveRaceService.Object); await service.InitializeAsync(); var res = false; service.OnSplitTime += _ => res = true; mockClock.Trigger(sensorNumber, sensorDateTime); Assert.AreEqual(result, res); }
public async Task EnableRaceForSkierTest(StartList?nextSkier, bool result) { var mockStartListDao = new Mock <IStartListDao>(); var mockRaceDataDao = new Mock <IRaceDataDao>(); var mockSkierEventDao = new Mock <ISkierEventDao>(); mockStartListDao.Setup(sld => sld.GetNextSkierForRace(It.IsAny <int>())).ReturnsAsync(nextSkier); mockStartListDao.Setup(sld => sld.UpdateAsync(It.IsAny <StartList>())).ReturnsAsync(true); mockRaceDataDao.Setup(rdd => rdd.InsertGetIdAsync(It.IsAny <RaceData>())).ReturnsAsync(1); mockSkierEventDao.Setup(skd => skd.InsertGetIdAsync(It.IsAny <SkierEvent>())).ReturnsAsync(1); var service = new ActiveRaceControlService(1, null, mockStartListDao.Object, null, mockRaceDataDao.Object, mockSkierEventDao.Object, null, null, null, null, null); Assert.AreEqual(result, await service.EnableRaceForSkier()); if (nextSkier != null) { Assert.AreEqual((int)StartState.Running, nextSkier.StartStateId); } }
public async Task EndRaceTest(Race?race, bool updateResult, int?raceDataId, bool raceEventResult, bool result) { var mockRaceDao = new Mock <IRaceDao>(); var mockRaceDataDao = new Mock <IRaceDataDao>(); var mockRaceEventDao = new Mock <IRaceEventDao>(); mockRaceDao.Setup(rd => rd.FindByIdAsync(It.IsAny <int>())).ReturnsAsync(race); mockRaceDao.Setup(rd => rd.UpdateAsync(It.IsAny <Race>())).ReturnsAsync(updateResult); mockRaceDataDao.Setup(rdd => rdd.InsertGetIdAsync(It.IsAny <RaceData>())).ReturnsAsync(raceDataId); mockRaceEventDao.Setup(red => red.InsertAsync(It.IsAny <RaceEvent>())).ReturnsAsync(raceEventResult); var service = new ActiveRaceControlService(1, mockRaceDao.Object, null, mockRaceEventDao.Object, mockRaceDataDao.Object, null, null, null, null, null, null); Assert.AreEqual(result, await service.EndRace()); }
public async Task CancelSkierTest(StartList?skier, bool result) { var mockActiveRaceService = new Mock <IActiveRaceService>(); var mockStartListDao = new Mock <IStartListDao>(); var mockRaceDataDao = new Mock <IRaceDataDao>(); var mockSkierEventDao = new Mock <ISkierEventDao>(); mockStartListDao.Setup(sld => sld.FindByIdAsync(It.IsAny <int>(), It.IsAny <int>())).ReturnsAsync(skier); mockStartListDao.Setup(sld => sld.UpdateAsync(It.IsAny <StartList>())).ReturnsAsync(true); mockRaceDataDao.Setup(rdd => rdd.InsertGetIdAsync(It.IsAny <RaceData>())).ReturnsAsync(1); mockSkierEventDao.Setup(skd => skd.InsertGetIdAsync(It.IsAny <SkierEvent>())).ReturnsAsync(1); var service = new ActiveRaceControlService(1, null, mockStartListDao.Object, null, mockRaceDataDao.Object, mockSkierEventDao.Object, null, null, null, null, mockActiveRaceService.Object); Assert.AreEqual(result, await service.CancelSkier(1)); if (skier != null) { Assert.AreEqual((int)StartState.Canceled, skier.StartStateId); } }