public void CardList_Is_Two_Pairs() { var cardList = new List <Card>() { new Card() { FaceValue = CardFaceValue.Ace, Suit = CardSuit.Clubs }, new Card() { FaceValue = CardFaceValue.Two, Suit = CardSuit.Diamonds }, new Card() { FaceValue = CardFaceValue.Jack, Suit = CardSuit.Spades }, new Card() { FaceValue = CardFaceValue.Jack, Suit = CardSuit.Diamonds }, new Card() { FaceValue = CardFaceValue.Five, Suit = CardSuit.Hearts }, new Card() { FaceValue = CardFaceValue.HighAce, Suit = CardSuit.Hearts }, new Card() { FaceValue = CardFaceValue.Ten, Suit = CardSuit.Hearts }, new Card() { FaceValue = CardFaceValue.Queen, Suit = CardSuit.Spades }, new Card() { FaceValue = CardFaceValue.Queen, Suit = CardSuit.Hearts }, new Card() { FaceValue = CardFaceValue.King, Suit = CardSuit.Hearts } }; var rule = new TwoPairRule(); var hand = rule.BuildStrongestHand(cardList); Assert.IsNotNull(hand); Assert.AreEqual("Two pair", hand.Name); Assert.AreEqual(300, hand.RankPrimary); Assert.IsTrue(hand.Cards.Any(x => x.FaceValue == CardFaceValue.Jack)); Assert.IsTrue(hand.Cards.Any(x => x.FaceValue == CardFaceValue.Queen)); }
public void IsMatch_OneCard_IsNoMatch() { List <Card> cards = new List <Card> { new Card(CardSuit.Spades, CardRank.Ace), }; TwoPairRule rule = new TwoPairRule(); var isMatch = rule.IsMatch(cards); Assert.AreEqual(false, isMatch); }
public void CardList_Is_Not_Two_Pairs() { var cardList = new List <Card>() { new Card() { FaceValue = CardFaceValue.Ace, Suit = CardSuit.Clubs }, new Card() { FaceValue = CardFaceValue.Two, Suit = CardSuit.Diamonds }, new Card() { FaceValue = CardFaceValue.Three, Suit = CardSuit.Spades }, new Card() { FaceValue = CardFaceValue.Jack, Suit = CardSuit.Diamonds }, new Card() { FaceValue = CardFaceValue.Five, Suit = CardSuit.Hearts }, new Card() { FaceValue = CardFaceValue.HighAce, Suit = CardSuit.Hearts }, new Card() { FaceValue = CardFaceValue.Ten, Suit = CardSuit.Hearts }, new Card() { FaceValue = CardFaceValue.Seven, Suit = CardSuit.Spades }, new Card() { FaceValue = CardFaceValue.Queen, Suit = CardSuit.Hearts }, new Card() { FaceValue = CardFaceValue.King, Suit = CardSuit.Hearts } }; var rule = new TwoPairRule(); var hand = rule.BuildStrongestHand(cardList); Assert.IsNull(hand); }
public void IsMatch_TwoCardsOfSameRank_IsMatch() { List <Card> cards = new List <Card> { new Card(CardSuit.Spades, CardRank.Ace), new Card(CardSuit.Clubs, CardRank.Ace) }; TwoPairRule rule = new TwoPairRule(); var isMatch = rule.IsMatch(cards); Assert.AreEqual(true, isMatch); }
public TwoPairRuleTests() { _rule = new TwoPairRule(); }