Пример #1
0
        public void ScoreNoPointsForInvalidWord(string inputWord, int expectedTotalScore, [Frozen] Mock <IWordChecker> wordCheckerStub, DefaultWordScorer defaultScorer)
        {
            wordCheckerStub.Setup(x => x.IsValid(inputWord)).Returns(false);

            var actualScore = defaultScorer.Score(new Word(inputWord, Enumerable.Empty <int>()));

            actualScore.TotalScore.Should().Be(expectedTotalScore);
        }
Пример #2
0
        public void ScoreOnePointPerLetter(string inputWord, int expectedTotalScore, [Frozen] Mock <IWordChecker> wordCheckerStub, DefaultWordScorer defaultScorer)
        {
            wordCheckerStub.Setup(x => x.IsValid(inputWord)).Returns(true);

            var actualScore = defaultScorer.Score(new Word(inputWord, Enumerable.Empty <int>()));

            actualScore.Word.Should().Be(inputWord);
            actualScore.IsValid.Should().BeTrue();
            actualScore.TotalScore.Should().Be(expectedTotalScore);
        }
Пример #3
0
        public void NotScoreBonusPointIfNoLetter([Frozen] Mock <IWordChecker> wordChecker, DefaultWordScorer defaultScorer)
        {
            var inputWord = "AXE";

            wordChecker.Setup(x => x.IsValid(inputWord)).Returns(true);

            var actualScore = defaultScorer.Score(new Word(inputWord, new int[] { 3 }));

            actualScore.LetterBonusIndexes.Should().BeEmpty();
            actualScore.BaseScore.Should().Be(3);
            actualScore.TotalScore.Should().Be(3);
        }
Пример #4
0
        public void ScoreBonusPoint([Frozen] Mock <IWordChecker> wordChecker, DefaultWordScorer defaultScorer)
        {
            var inputWord = "AXE";

            wordChecker.Setup(x => x.IsValid(inputWord)).Returns(true);

            var actualScore = defaultScorer.Score(new Word(inputWord, new int[] { 2 }));

            actualScore.LetterBonusIndexes.Should().ContainSingle(x => x == 2);
            actualScore.BaseScore.Should().Be(3);
            actualScore.TotalScore.Should().Be(4);
        }