public async Task WebUptimeMetricLogic_ScoreMetric_NoUptime()
        {
            //Arrange
            var metricData = new MetricData();
            var logic      = new WebUptimeMetricLogic(httpClientFactoryMock.Object, serverRepository.Object, metricDataService.Object, configRepository.Object, logger.Object);

            //Act
            var result = await logic.ScoreMetric(metricData);

            //Assert
            Assert.That(result, Is.EqualTo(Defaults.Scores.Uptime));
        }
        public async Task WebUptimeMetricLogic_ScoreMetric()
        {
            //Arrange
            var metricData = new MetricData();
            var webUptime  = new WebUptime {
                SuccessfulSamples = 9, TotalSamples = 10
            };

            metricDataService.Setup(s => s.GetData <WebUptime>(metricData)).Returns(webUptime);
            var logic = new WebUptimeMetricLogic(httpClientFactoryMock.Object, serverRepository.Object, metricDataService.Object, configRepository.Object, logger.Object);

            //Act
            var result = await logic.ScoreMetric(metricData);

            //Assert
            Assert.That(result, Is.EqualTo(90.0m));
        }