internal static decimal ScoreUserAuditAnalysis(AuditAnalysis auditAnalysis)
        {
            decimal totalSimpleQueries = auditAnalysis.TotalQueries - auditAnalysis.TotalComplexQueries;

            return(totalSimpleQueries <= 0
                                ? 1.0m
                                : Math.Min(1.0m, (totalSimpleQueries - auditAnalysis.TotalSimpleLongRunningQueries) / totalSimpleQueries));
        }
Beispiel #2
0
        public void AuditAnalysisMetricLogic_ScoreUserAuditAnalysis(long totalQueries, long totalComplexQueries, long totalLongRunningQueries, long totalSimpleLongRunningQueries, double expectedResult)
        {
            // Arrange
            var analysis = new AuditAnalysis
            {
                TotalQueries                  = totalQueries,
                TotalComplexQueries           = totalComplexQueries,
                TotalLongRunningQueries       = totalLongRunningQueries,
                TotalSimpleLongRunningQueries = totalSimpleLongRunningQueries
            };

            // Act
            var result = AuditAnalysisMetricLogic.ScoreUserAuditAnalysis(analysis);

            // Assert
            Assert.That(result, Is.EqualTo(expectedResult));
        }
Beispiel #3
0
        public async Task AuditAnalysisMetricLogic_ScoreMetric_NoMetricData()
        {
            // Arrange
            var metricData = new MetricData {
                Metric = new Metric {
                    HourId = 123
                }, ServerId = 234
            };
            var analyses = new AuditAnalysis[] { };

            this.auditAnalysisRepository.Setup(r => r.ReadByMetricData(metricData))
            .ReturnsAsync(analyses.ToList());

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

            // Assert
            Assert.That(result, Is.EqualTo(Defaults.Scores.UserExperience));
        }