public void DoNotMoveCurrentPlayerIfInPenaltyBoxAndRollEvenDice() { var player1 = new Player { Name = "player1", IsInPenaltyBox = true }; var player2 = new Player { Name = "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 { Name = "player1" }; var player2 = new Player { Name = "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); }