public void MaxScore_Returns3()
        {
            // Arrange
            RankingSet rankingSet = StubRankingsSets.ZeroToThree;

            // Act
            int maxScore = rankingSet.GetMaxScore();

            // Assert
            Assert.AreEqual(3, maxScore);
        }
        public int Normalize(
            IScore score,
            IScore maxScore,
            RankingSet rankingSet)
        {
            // We don't want to deal with null, negative, or zero values, return early
            if (rankingSet == null || score == null || score.Score <= 0 || maxScore == null)
            {
                return(0);
            }

            // Normalize Score
            var normalizedScore = (int)Math.Ceiling((double)Math.Min(score.Score, maxScore.Score) / maxScore.Score * rankingSet.GetMaxScore());

            return(normalizedScore);
        }