public void TestRunStatusChangedEventInvocation() { // Setup var runDaoMock = new Mock <IRunDao>(); runDaoMock.Setup(d => d.GetBySkierAndRace(It.IsAny <Race>(), It.IsAny <int>(), It.IsAny <Skier>())) .Returns(Task.FromResult( new Run { Status = RunStatus.Ready }) ); var daoProvider = DaoProviderHelper.GetPartialDaoProvider(runDao: runDaoMock.Object); var runService = new RunService(daoProvider, new SimulatorRaceClock()); var eventTriggered = false; runService.RunStatusChanged += (race, runNumber, skier, runStatus) => eventTriggered = true; // Execute runService.UpdateRunStatus(null, 1, null, RunStatus.InProgress); // Assert Assert.True(eventTriggered); }