public async Task SetStatusAndResetLastTestCycleIntervalAsync( MonitorStatus oldStatus, MonitorStatus newStatus) { // Arrange var monitor = new NcMonitor { StatusId = (int)oldStatus, LastTestCycleInterval = new TimeSpan(2, 3, 4), }; var monitorRepo = new Mock <IMonitorRepository>(); IMonitorManager monitorManager = new MonitorManager( It.IsAny <IChannelRepository>(), monitorRepo.Object, It.IsAny <IRecordRepository>(), It.IsAny <IScenarioRepository>()); // Act await monitorManager.SetStatusAndResetLastTestCycleIntervalAsync( monitor, newStatus); // Assert monitorRepo.Verify(x => x.UpdateAsync(monitor), Times.Once()); Assert.Equal(new TimeSpan?(), monitor.LastTestCycleInterval); Assert.Equal(newStatus, monitor.StatusEnum()); }