public void FizBuzzScorer_Score_OneCustomScoringRule_NumberIsNotMultiple_ReturnsNormalNumber() { var scoringSettings = new ScoringSettings().AddRule(2, "fuzz"); TestFizzBuzzScorerScoring(0, "0", scoringSettings); TestFizzBuzzScorerScoring(3, "3", scoringSettings); }
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); }
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); }
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); }
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); }
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; } }
/// <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; }