public void PlayBestScoredMoveUpToLimit_BestWouldBeAboveLimit_DecisionUndecided() { var cards = new ReadOnlyCollection <int>(new List <int> { 7, 8, 9, 10, 11 }); var rows = TestHelper.GetPreparedRows(1, 2, 80, 70); var comm = new List <(int, PlayerCommunication)>(); var info = new PlayerInformation(1, 2, rows, comm); var expectedMove = new PlayerMove(PlayerMoveDecision.Undecided); var move = PlayerMoveRules.PlayBestScoredMoveUpToLimit(cards, info); Assert.That(move, Is.EqualTo(expectedMove)); }
public void PlayBestScoredMoveUpToLimit_LongChainOfBackwardsTricksPossible_PlayMove() { // play 38 on 70, as 38 - 37 - 47 -57 - 67 possible var cards = new ReadOnlyCollection <int>(new List <int> { 67, 57, 47, 37, 38 }); var rows = TestHelper.GetPreparedRows(98, 99, 80, 70); var comm = new List <(int, PlayerCommunication)>(); var info = new PlayerInformation(1, 2, rows, comm); var expectedMove = new PlayerMove(PlayerMoveDecision.WantToPlay, new CardPlacement(RowOfCardsIdentifier.SecondRowDown, 38)); var move = PlayerMoveRules.PlayBestScoredMoveUpToLimit(cards, info); Assert.That(move, Is.EqualTo(expectedMove)); }