public void DoNotMoveCurrentPlayerIfInPenaltyBoxAndRollEvenDice()
        {
            var player1        = new Player(1, "player1", true);
            var player2        = new Player(2, "player2");
            var game           = GetGame(player1, player2);
            var gameRepository = new InMemoryGameRepository(game);
            var fakeDice       = new FakeDice(2);
            var gameServices   = new GameServices(gameRepository, null, fakeDice);

            var question = gameServices.Move(game.Id, player1.Id);

            Check.That(question).IsNull();
            Check.That(game.CurrentPlayer).IsEqualTo(player2);
        }
        public void MoveCurrentPlayer()
        {
            var  player1        = new Player("player1");
            var  player2        = new Player("player2");
            Game game           = GetGame(player1, player2);
            var  gameRepository = new InMemoryGameRepository(game);
            var  fakeDice       = new FakeDice(2);
            var  gameServices   = new GameServices(gameRepository, null, fakeDice);

            var question = gameServices.Move(game.Id, player1.Id);

            var gameQuestion = game.Categories.Single(x => x.Id == question.CategoryId).Questions.First();

            Check.That(question.Text).IsEqualTo(gameQuestion.Question.Text);
            Check.That(gameQuestion.NotUsed).IsFalse();
            Check.That(game.CurrentPlayer.IsInPenaltyBox).IsFalse();
            Check.That(game.CurrentPlayer.LastQuestion).IsEqualTo(question);
            Check.That(game.CurrentPlayer.Place).IsEqualTo(2);
        }