/// <summary> /// Randomly card draw operations prior to game turn. /// </summary> private void RandomlyCardDrawOperations() { ICard drawnCard = _operations.RandomlyDrawOneCardFromPlayerDeck(_activePlayer); _io.InfoAboutRandomlyDrawnCardMessage(drawnCard); if (drawnCard == null) { _isGameContinuous = _operations.BleedingOut(_activePlayer); if (!_isGameContinuous) { _io.YouDefeatedMessage(_activePlayer, _opponentPlayer); } return; } bool isOverloadedHand = _operations.AddDrawnCardToTheHand(_activePlayer, drawnCard); if (isOverloadedHand) { _io.RandomlyDrawnCardCouldNotAddedMessage(); } }
public void BleedingOutTests() { var playerMock = new Mock <IPlayer>(); playerMock.SetupProperty(player => player.Health, (byte)10); playerMock.Object.Health = 10; bool isGameContinues = _operations.BleedingOut(playerMock.Object); Assert.AreEqual(9, playerMock.Object.Health); Assert.AreEqual(true, isGameContinues); playerMock.Object.Health = 1; isGameContinues = _operations.BleedingOut(playerMock.Object); Assert.AreEqual(0, playerMock.Object.Health); Assert.AreEqual(false, isGameContinues); }