public void GetOutOfJailFree() { player.JailStrategy = new AlwaysPay(); var money = banker.Money[player]; jailHandler.Imprison(player); jailHandler.HandleJail(0, player); Assert.IsFalse(getOutOfJailCard.Held); }
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 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)); }
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); } }