private void RollAndMove(IPlayer player) { dice.RollTwoDice(); if (dice.Doubles) { doublesCount++; } jailHandler.HandleJail(doublesCount, player); if (!jailHandler.HasImprisoned(player) && !banker.IsBankrupt(player)) { boardHandler.Move(player, dice.Value); } }
public void NeverPay() { player.JailStrategy = new NeverPay(); Assert.IsFalse(player.JailStrategy.UseCard()); var playerMoney = banker.Money[player]; dice.RollTwoDice(); boardHandler.MoveTo(player, BoardConstants.GO_TO_JAIL); jailHandler.HandleJail(0, player); jailHandler.HandleJail(0, player); Assert.AreEqual(playerMoney, banker.Money[player]); Assert.IsTrue(jailHandler.HasImprisoned(player)); }
public void LandOnGoToJail_DoesNotGoAgain() { dice.SetPredeterminedDieValues(BoardConstants.GO_TO_JAIL / 2, BoardConstants.GO_TO_JAIL / 2, 4, 1); turnHandler.TakeTurn(player); Assert.AreEqual(BoardConstants.JAIL_OR_JUST_VISITING, boardHandler.PositionOf[player]); Assert.IsTrue(jailHandler.HasImprisoned(player)); }
public void RollThreeDoubles_GoToJail() { jailHandler.HandleJail(3, player); Assert.AreEqual(BoardConstants.JAIL_OR_JUST_VISITING, boardHandler.PositionOf[player]); Assert.IsTrue(jailHandler.HasImprisoned(player)); }
public void GoToJail() { goToJailCard.Execute(player); Assert.AreEqual(BoardConstants.JAIL_OR_JUST_VISITING, boardHandler.PositionOf[player]); Assert.IsTrue(jailHandler.HasImprisoned(player)); }