public void WhenPlayerDropsTailAndHaveBlockedCard_ShouldUnblockCard() { var board = Create.Board(@" | Backlog | Dev | Test | Done | | | [MK B] | | 0 | "); var mikhail = Create.Player .WithName("MK") .Please(); board.MakeTurnFor(mikhail, CoinFlipResult.Tail); AssertBoard(board, @" | Backlog | Dev | Test | Done | | | [MK ] | | 0 | "); }
public void WhenPlayerDropsHeadAndDevLimitIsReached_ShouldBlockTheCard() { var board = Create.Board(@" | Backlog | Dev (1) | Test (1) | Done | | | [MK ] | | 0 | "); var mikhail = Create.Player .WithName("MK") .Please(); board.MakeTurnFor(mikhail, CoinFlipResult.Head); AssertBoard(board, @" | Backlog | Dev (1) | Test (1) | Done | | | [MK B] | | 0 | "); }
public void WhenPlayerDropsTailAndTestLimitIsNotReached_ShouldMoveAvailablePlayerCardFromTestToDone() { var board = Create.Board(@" | Backlog | Dev | Test | Done | | | | [MK ] | 0 | "); var mikhail = Create.Player .WithName("MK") .Please(); board.MakeTurnFor(mikhail, CoinFlipResult.Tail); AssertBoard(board, @" | Backlog | Dev | Test | Done | | | | | 1 | "); }
public void WhenPlayerDropsTailAndCantPlayOwnCardsAndCantMoveCards_PlayerUnblockOtherCards() { var board = Create.Board(@" | Backlog | Dev (1) | Test (1) | Done | | | [MK B] | | 0 | "); var nikita = Create.Player .WithName("NS") .Please(); board.MakeTurnFor(nikita, CoinFlipResult.Tail); AssertBoard(board, @" | Backlog | Dev (1) | Test (1) | Done | | | [MK ] | | 0 | "); }
public void WhenBoardIsEmptyAndPlayerPlayTurnWithAnyCoinFlipResult_ShouldPullNewCardToDev() { var board = Create.Board(@" | Backlog | Dev | Test | Done | | | | | 0 | "); var mikhail = Create.Player .WithName("MK") .Please(); var coinFlipResult = mikhail.FlipTheCoin(new Coin()); board.MakeTurnFor(mikhail, coinFlipResult); AssertBoard(board, @" | Backlog | Dev | Test | Done | | | [MK ] | | 0 | "); }