Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }