public void CalculateScore_SingleScore() { weightedScores = new List <ScoreWithWeightDto> { new ScoreWithWeightDto(4, 0.75) }; double totalScore = AverageScoreCalculator.GetScore(weightedScores); Assert.Equal(0.75, totalScore, decimalDigitPrecision); }
public void CalculateScore_Over100Percent() { weightedScores = new List <ScoreWithWeightDto> { new ScoreWithWeightDto(5, 1.1), new ScoreWithWeightDto(5, 1) }; double totalScore = AverageScoreCalculator.GetScore(weightedScores); Assert.Equal(1.05, totalScore, decimalDigitPrecision); }
public void CalculateScore_Simple() { weightedScores = new List <ScoreWithWeightDto> { new ScoreWithWeightDto(1, 1), new ScoreWithWeightDto(1, 0), new ScoreWithWeightDto(1, 0.5) }; double expectedTotalScore = 0.5; double totalScore = AverageScoreCalculator.GetScore(weightedScores); Assert.Equal(expectedTotalScore, totalScore, decimalDigitPrecision); }
public void CalculateScore_OneTestOfBigWeight() { weightedScores = new List <ScoreWithWeightDto> { new ScoreWithWeightDto(10, 1) }; for (int i = 0; i < 10; i++) { weightedScores.Add(new ScoreWithWeightDto(1, 0)); } double totalScore = AverageScoreCalculator.GetScore(weightedScores); Assert.Equal(0.5, totalScore, decimalDigitPrecision); }
public void GetScore_Complex() { weightedScores = new List <ScoreWithWeightDto> { new ScoreWithWeightDto(1, 1), new ScoreWithWeightDto(10, 0.7), new ScoreWithWeightDto(3, 0.85), new ScoreWithWeightDto(5, 1), new ScoreWithWeightDto(1, 0.4), }; double expectedTotalScore = (1 + 7 + 2.55 + 5 + 0.4) / (1 + 10 + 3 + 5 + 1); double totalScore = AverageScoreCalculator.GetScore(weightedScores); Assert.Equal(expectedTotalScore, totalScore, decimalDigitPrecision); }
public WrapperVM <double> GetAverageScore(string memberId) { var mappedGrades = courseMemberService.GetGradesOf(memberId) .Select(grade => new ScoreWithWeightDto(grade.Weight, grade.PercentualValue)); var mappedTestSubmissions = testSubmissionService.GetAllGraded(memberId) .Select(ts => new ScoreWithWeightDto(ts.Test.Weight, TestScoreCalculator.CalculateScore(ts))); var scoresWithWeights = new List <ScoreWithWeightDto>(); scoresWithWeights.AddRange(mappedGrades); scoresWithWeights.AddRange(mappedTestSubmissions); double averageScore = AverageScoreCalculator.GetScore(scoresWithWeights); return(new WrapperVM <double>(averageScore)); }
public void CalculateScore_NoScores() { double totalScore = AverageScoreCalculator.GetScore(new List <ScoreWithWeightDto>()); Assert.Equal(0, totalScore, decimalDigitPrecision); }