public async Task AgentUptimeMetricLogic_ScoreMetric_NoSamples() { //Arrange var metric = new MetricData { Metric = new Metric { Hour = new Hour { HourTimeStamp = DateTime.UtcNow } } }; metricDataService.Setup(mds => mds.GetData <AgentUptime>(It.IsAny <MetricData>())).Returns(new AgentUptime { SuccessfulSamples = 0, TotalSamples = 0 }); agentHistoryRepository.Setup(r => r.ReadEarliestAsync()).ReturnsAsync(new AgentHistory { TimeStamp = DateTime.UtcNow.AddYears(-10) }); var logic = new AgentUptimeMetricLogic(agentHistoryRepository.Object, metricDataService.Object, this.loggerMock.Object); //Act var result = await logic.ScoreMetric(metric); //Assert Assert.That(result, Is.EqualTo(Defaults.Scores.Zero)); }
public async Task AgentUptimeMetricLogic_CollectMetricData_NewAgentUptime() { //Arrange var metric = new MetricData { Metric = new Metric { Hour = new Hour() } }; metricDataService.Setup(mds => mds.GetData <AgentUptime>(It.IsAny <MetricData>())).Returns((AgentUptime)null); agentHistoryRepository.Setup(r => r.ReadByHourAsync(It.IsAny <Hour>())) .ReturnsAsync(Enumerable.Range(0, 100).Select(i => new AgentHistory { Successful = i % 10 != 0 }).ToList()); var logic = new AgentUptimeMetricLogic(agentHistoryRepository.Object, metricDataService.Object, this.loggerMock.Object); //Act var result = await logic.CollectMetricData(metric); //Assert Assert.That(result, Is.Not.Null); }