Example #1
0
        public void GuessShouldReturnIncorrectGuessResultIfLetterDoesNotExistInWord(string letter, Type result)
        {
            var secretWord       = "secRetWord";
            var incorrectGuesses = 5;

            var hangman = new HangmanKata.UI.Models.Hangman(secretWord, incorrectGuesses);

            hangman.Guess(letter).Should().BeOfType(result);
        }
Example #2
0
        public void GuessShouldOnlyAcceptASingleLetter(string letter, Type result)
        {
            var secretWord       = "secRetWord";
            var incorrectGuesses = 5;

            var hangman = new HangmanKata.UI.Models.Hangman(secretWord, incorrectGuesses);

            hangman.Guess(letter).Should().BeOfType(result);
        }
Example #3
0
        public void ShouldReturnTrueIfGameIsUnderway()
        {
            var secretWord       = "secRetWord";
            var incorrectGuesses = 5;

            var hangman = new HangmanKata.UI.Models.Hangman(secretWord, incorrectGuesses);

            hangman.GameState.Should().Be(GameState.InProgress);
        }
Example #4
0
        public void ShouldReturnHangmanClass()
        {
            var secretWord       = "secRetWord";
            var incorrectGuesses = 5;

            var hangman = new HangmanKata.UI.Models.Hangman(secretWord, incorrectGuesses);

            hangman.Should().NotBeNull();
        }
Example #5
0
        public void ShouldReturnGameLostIfIncorrectGuessesAreExceededButMoreLettersAreAdded(int incorrectGuesses, params string[] values)
        {
            var secretWord = "secRetWord";

            var hangman = new HangmanKata.UI.Models.Hangman(secretWord, incorrectGuesses);

            foreach (var letter in values)
            {
                hangman.Guess(letter);
            }

            hangman.GameState.Should().Be(GameState.Lost);
        }
Example #6
0
        public void ShouldReturnGameInProgressIfAllLettersAreNotGuessedAsYes(params string[] values)
        {
            var secretWord       = "secRetWord";
            var incorrectGuesses = 5;

            var hangman = new HangmanKata.UI.Models.Hangman(secretWord, incorrectGuesses);

            foreach (var letter in values)
            {
                hangman.Guess(letter.ToString());
            }

            hangman.GameState.Should().Be(GameState.InProgress);
        }
Example #7
0
        public void ShouldReturnGameWonIfAllLettersGuessedCorrectly()
        {
            var secretWord       = "secRetWord";
            var incorrectGuesses = 5;

            var hangman = new HangmanKata.UI.Models.Hangman(secretWord, incorrectGuesses);

            foreach (var letter in secretWord)
            {
                hangman.Guess(letter.ToString());
            }

            hangman.GameState.Should().Be(GameState.Won);
        }
Example #8
0
        public void ShouldReturnGameWonIfAllLettersAreGuessedButMoreLettersAreAdded(params string[] values)
        {
            var secretWord       = "secRetWord";
            var incorrectGuesses = 5;

            var hangman = new HangmanKata.UI.Models.Hangman(secretWord, incorrectGuesses);

            foreach (var letter in values)
            {
                hangman.Guess(letter.ToString());
            }

            hangman.GameState.Should().Be(GameState.Won);
        }