コード例 #1
0
        public void FizBuzzScorer_Score_OneCustomScoringRule_NumberIsNotMultiple_ReturnsNormalNumber()
        {
            var scoringSettings = new ScoringSettings().AddRule(2, "fuzz");

            TestFizzBuzzScorerScoring(0, "0", scoringSettings);
            TestFizzBuzzScorerScoring(3, "3", scoringSettings);
        }
コード例 #2
0
        public void FizBuzzScorer_Score_OneCustomScoringRule_NumberIsMultiple_ReturnsCustomScore()
        {
            const string customScore     = "fuzz";
            var          scoringSettings = new ScoringSettings();

            scoringSettings.AddRule(2, customScore);

            TestFizzBuzzScorerScoring(2, customScore, scoringSettings);
            TestFizzBuzzScorerScoring(16, customScore, scoringSettings);
        }
コード例 #3
0
        public void FizBuzzScorer_Score_ManyCustomScoringRules_NumberIsMultipleOf1Custom_ReturnsCustomScore()
        {
            var scoringSettings = new ScoringSettings();

            scoringSettings
            .AddRule(13, "pep")
            .AddRule(2, "fuzz")
            .AddRule(9, "bizz");

            TestFizzBuzzScorerScoring(13, "pep", scoringSettings);
        }
コード例 #4
0
        public void FizBuzzScorer_Score_ManyCustomScoringRules_NumberIsNotMultiple_ReturnsNormalNumber()
        {
            var scoringSettings = new ScoringSettings();

            scoringSettings
            .AddRule(2, "fuzz")
            .AddRule(9, "bizz")
            .AddRule(13, "pep");

            TestFizzBuzzScorerScoring(231, "231", scoringSettings);
        }
コード例 #5
0
        public void TestFizzBuzzScorerScoring(int number, string expectedResult, ScoringSettings scoringSettings = null)
        {
            // Arrange
            var fizzBuzzScorer = new FizzBuzzScorer(scoringSettings);

            // Act
            var fizzBuzzScore = fizzBuzzScorer.Score(number);

            // Assert
            Assert.AreEqual(expectedResult, fizzBuzzScore);
        }
コード例 #6
0
ファイル: ExerciseBlock.cs プロジェクト: epeshk/uLearn
        public void CheckScoringGroup(string slideDescriptionForErrorMessage, ScoringSettings scoring)
        {
            var scoringGroupsIds = scoring.Groups.Keys;

            if (!string.IsNullOrEmpty(ScoringGroup) && !scoringGroupsIds.Contains(ScoringGroup))
            {
                throw new CourseLoadingException($"Неизвестная группа оценки у задания {slideDescriptionForErrorMessage}: {ScoringGroup}\n" +
                                                 "Возможные значения: " + string.Join(", ", scoringGroupsIds));
            }

            if (string.IsNullOrEmpty(ScoringGroup))
            {
                ScoringGroup = scoring.DefaultScoringGroupForExercise;
            }
        }
コード例 #7
0
 /// <summary>
 /// Scorer for the FizzBuzz game.  Uses standard scoring rules unless custom rules are specified.
 /// </summary>
 /// <param name="scoringSettings">Custom Scoring Rules</param>
 public FizzBuzzScorer(ScoringSettings scoringSettings = null)
 {
     ScoringSettings = scoringSettings ?? ScoringSettings.DefaultScoringSettings;
 }