public void WhenGameIsFinished_DontIncrementNumberOfGuesses() { var hangman = new Core.Hangman("a"); hangman.GuessLetter('b'); Assert.AreEqual(1, hangman.NumberOfGuesses); hangman.GuessLetter('a'); Assert.AreEqual(2, hangman.NumberOfGuesses); hangman.GuessLetter('c'); Assert.AreEqual(2, hangman.NumberOfGuesses); hangman.GuessLetter('a'); Assert.AreEqual(2, hangman.NumberOfGuesses); }
private static void Main() { System.Console.Write("Please enter a word: "); var searchedWord = System.Console.ReadLine(); System.Console.Clear(); var hangman = new Core.Hangman(searchedWord); while (!hangman.GameFinished) { System.Console.Write($"Enter your guess {hangman.NumberOfGuesses + 1}: "); var guessedLetter = System.Console.ReadLine()?.FirstOrDefault(); if (guessedLetter == null) { continue; } var output = hangman.GuessLetter(guessedLetter.Value); System.Console.Clear(); System.Console.WriteLine(output); } System.Console.WriteLine($"Congratulations! You won with {hangman.NumberOfGuesses} guess(es)."); System.Console.WriteLine("Press any key to exit."); System.Console.ReadKey(); }
public void WhenAllLettersGuessed_GameIsFinished() { var hangman = new Core.Hangman("a"); hangman.GuessLetter('a'); Assert.IsTrue(hangman.GameFinished); }
public void IncorrectlyGuessingTheWordDeductsAttempts() { var attemptsLeft = _hangman.GetAttemptsLeft(); _hangman.GuessLetter('0'); _hangman.GetAttemptsLeft().Should().Equals(attemptsLeft - 1); }
public void WhenGuessing_IncreaseNumberOfGuesses() { _hangman.GuessLetter('a'); Assert.AreEqual(1, _hangman.NumberOfGuesses); _hangman.GuessLetter('d'); Assert.AreEqual(2, _hangman.NumberOfGuesses); }