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);
        }
Example #6
0
        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);
        }