public void DoesntExecuteWithInvalidTokenCount() { var tokensToTake = new TokenCollection(1, 1, 2, 0, 0, 0); var player = new Player("Shaggy"); var board = new GameBoard(PlayerCount.Two, _nobles, _developments); var sut = new TakeThreeAction(tokensToTake); Assert.IsFalse(sut.TryExecuteAction(player, board, out var result)); Assert.AreEqual(ExecutionResult.InvalidTokenCombination, result); }
public void CanExecuteWithLessThenThreeTokens() { var tokensToTake = new TokenCollection(1, 1, 0, 0, 0, 0); var player = new Player("Shaggy"); var board = new GameBoard(PlayerCount.Two, _nobles, _developments); var sut = new TakeThreeAction(tokensToTake); Assert.IsTrue(sut.TryExecuteAction(player, board, out var result)); Assert.AreEqual(ExecutionResult.Success, result); }
public void DoesntExecuteWithInsufficientTokensOnField() { var tokensToTake = new TokenCollection(1, 1, 1, 0, 0, 0); var player = new Player("Shaggy"); var board = new GameBoard(PlayerCount.Two, _nobles, _developments); var sut = new TakeThreeAction(tokensToTake); board.TryTakeTokensFormBoard(new TokenCollection(4, 4, 4, 4, 4, 5)); Assert.IsFalse(sut.TryExecuteAction(player, board, out var result)); Assert.AreEqual(ExecutionResult.InsufficientTokens, result); }