Ejemplo n.º 1
0
        public void Should_Increase_Count_Of_Guesses()
        {
            // Arrange
            var guessCounter = new GuessCounter();

            // Act
            guessCounter.IncrementCount();
            var countMessage   = guessCounter.GetRemainingGuessMessage();
            var expectedOutput = Constant.GuessCountPrompt + 1 + Constant.NewLine + Constant.RemainingGuessesPrompt +
                                 (Constant.GuessLimit - 1) + Constant.NewLine;

            // Assert
            Assert.Equal(expectedOutput, countMessage);
        }
Ejemplo n.º 2
0
        public void Mastermind(IGame game)
        {
            _consoleDisplayService.DisplayOutput(Constant.WelcomeInstructions);
            var hints        = Enumerable.Empty <HintColour>();
            var guessCounter = new GuessCounter();

            game.SetComputerPlayersCode();

            while (IsNotWinningCombination(hints))
            {
                _consoleDisplayService.DisplayOutput(guessCounter.GetRemainingGuessMessage());

                if (guessCounter.IsGuessLimitExceeded())
                {
                    _consoleDisplayService.ExitApplication();
                }

                hints = game.Check(_inputProcessor.GetUsersColourGuess());

                guessCounter.IncrementCount();

                _consoleDisplayService.DisplayOutput(_messageFormatter.GetHintMessage(hints));
            }
        }