예제 #1
0
        public void GetPossibleAnnounceShouldReturnNoAnnounceWhenGivenNullCard()
        {
            IAnnounceValidator validator = new AnnounceValidator();
            var announce = validator.GetPossibleAnnounce(this.playerCards, null, Card.GetCard(CardSuit.Heart, CardType.Ace));

            Assert.AreEqual(Announce.None, announce);
        }
예제 #2
0
        public void GetPossibleAnnounceShouldReturnFortyWhenQueenIsPlayedTheKingIsPresentAndTheTrumpIsTheSameSuit()
        {
            IAnnounceValidator validator = new AnnounceValidator();
            var announce = validator.GetPossibleAnnounce(
                this.playerCards,
                Card.GetCard(CardSuit.Diamond, CardType.Queen),
                Card.GetCard(CardSuit.Diamond, CardType.Ace));

            Assert.AreEqual(Announce.Forty, announce);
        }
예제 #3
0
        public void GetPossibleAnnounceShouldReturnTwentyWhenKingIsPlayedTheQueenIsPresentAndTheTrumpIsDifferentSuit()
        {
            IAnnounceValidator validator = new AnnounceValidator();
            var announce = validator.GetPossibleAnnounce(
                this.playerCards,
                Card.GetCard(CardSuit.Diamond, CardType.King),
                Card.GetCard(CardSuit.Heart, CardType.Ace));

            Assert.AreEqual(Announce.Twenty, announce);
        }
예제 #4
0
        public void GetPossibleAnnounceShouldReturnNoAnnounceWhenKingIsPlayedButTheRespectiveQueenIsMissing()
        {
            IAnnounceValidator validator = new AnnounceValidator();
            var announce = validator.GetPossibleAnnounce(
                this.playerCards,
                Card.GetCard(CardSuit.Spade, CardType.King),
                Card.GetCard(CardSuit.Heart, CardType.Ace));

            Assert.AreEqual(Announce.None, announce);
        }
예제 #5
0
        public void GetPossibleAnnounceShouldReturnNoAnnounceWhenNoKingOrQueenIsPlayed(CardType cardType)
        {
            IAnnounceValidator validator = new AnnounceValidator();
            var announce = validator.GetPossibleAnnounce(
                this.playerCards,
                Card.GetCard(CardSuit.Club, cardType),
                Card.GetCard(CardSuit.Club, CardType.Ace));

            Assert.AreEqual(Announce.None, announce);
        }
예제 #6
0
        public void GetPossibleAnnounceShouldReturnFortyWhenKingIsPlayedTheQueenIsPresentAndTheTrumpIsTheSameSuit()
        {
            IAnnounceValidator validator = new AnnounceValidator();
            var announce = validator.GetPossibleAnnounce(
                this.playerCards,
                new Card(CardSuit.Heart, CardType.King),
                new Card(CardSuit.Heart, CardType.Nine));

            Assert.AreEqual(Announce.Forty, announce);
        }
예제 #7
0
        public void GetPossibleAnnounceShouldReturnFalseWhenThePlayerIsNotFirst()
        {
            IAnnounceValidator validator = new AnnounceValidator();
            var announce = validator.GetPossibleAnnounce(
                this.playerCards,
                Card.GetCard(CardSuit.Heart, CardType.King),
                Card.GetCard(CardSuit.Heart, CardType.Nine),
                false);

            Assert.AreEqual(Announce.None, announce);
        }