Exemple #1
0
        private static TrickPile CreateTrickPileWithSixClubs(FollowSuit sut, Trump trump)
        {
            var trickPile = new TrickPile(sut, trump);

            trickPile.Push(new Card(Stub.Ranks.Six, Stub.Suits.Clubs), PilePosition.Default);
            return(trickPile);
        }
Exemple #2
0
        public void Any_card_could_be_played_when_trick_pile_is_empty(FollowSuit sut)
        {
            var trickPile = new TrickPile(sut, Trump.NoTrump());
            var hand      = CreateHandWithCards(Stub.Suits.Clubs);
            var card      = hand.CardsInPile[0];

            var result = sut.Play(trickPile, hand, card);

            Assert.AreEqual(FollowSuitPlayResult.Played, result);
        }
Exemple #3
0
        public void Play_other_trump_suit_when_cannot_follow_suit(string followSuit)
        {
            var sut                = FollowSuit.FromName(followSuit);
            var trickPile          = CreateTrickPileWithSixClubs(sut, Trump.Static(Stub.Suits.Spades));
            var hand               = CreateHandWithCards(Stub.Suits.Hearts, Stub.Suits.Spades);
            var otherTrumpSuitCard = hand.CardsInPile[1];

            var result = sut.Play(trickPile, hand, otherTrumpSuitCard);

            Assert.AreEqual(FollowSuitPlayResult.Ruff, result);
        }
Exemple #4
0
        public void Play_trump_suit_when_pile_has_only_trumps(string followSuit)
        {
            var sut          = FollowSuit.FromName(followSuit);
            var trickPile    = CreateTrickPileWithSixClubs(sut, Trump.Static(Stub.Suits.Clubs));
            var hand         = CreateHandWithCards(Stub.Suits.Clubs, Stub.Suits.Hearts);
            var sameSuitCard = hand.CardsInPile[0];

            var result = sut.Play(trickPile, hand, sameSuitCard);

            Assert.AreEqual(FollowSuitPlayResult.Played, result);
        }
Exemple #5
0
 public TrickPile(FollowSuit followSuit, Trump trump)
 {
     _followSuit = followSuit;
     _trump      = trump;
 }