public void SetUp()
 {
     _gameService    = Substitute.For <IGameService>();
     _checkSolution  = Substitute.For <ICheckSolution>();
     _gameRepository = Substitute.For <IGameRepository>();
     _gameService.GuessLetter(Arg.Any <char>()).Returns(info =>
                                                        new Tuple <Guess, Token>(GuessFactory.GetGuess, TokenFactory.GetToken));
     _eventDispatcherService = Substitute.For <IEventDispatcherService>();
     _guessLetterUseCase     =
         new GuessLetterUseCase(_checkSolution, _gameRepository, _gameService, _eventDispatcherService);
 }
 public GuessLetterUseCase(
     ICheckSolution checkSolution,
     IGameRepository gameRepository,
     IGameService gameService,
     IEventDispatcherService eventDispatcherService
     )
 {
     _checkSolution          = checkSolution;
     _gameRepository         = gameRepository;
     _gameService            = gameService;
     _eventDispatcherService = eventDispatcherService;
 }