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)); }
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)); }
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)); }