private static void Main() { try { IHand hand = new Hand(new List<ICard>() { new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.Queen, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.Jack, CardSuit.Clubs), new Card(CardFace.Ten, CardSuit.Clubs), }); Console.WriteLine(hand); IPokerHandsChecker checker = new PokerHandsChecker(); Console.WriteLine(checker.IsValidHand(hand) ? "Hand is valid." : "Hand is not valid!"); Console.WriteLine(checker.IsRoyalFlush(hand) ? "Royal flush." : "Hand is not Royal flush!"); Console.WriteLine(checker.IsStraightFlush(hand) ? "Straight flush." : "Hand is not Straight flush!"); Console.WriteLine(checker.IsFlush(hand) ? "Flush." : "Hand is not Flush!"); Console.WriteLine(checker.IsStraight(hand) ? "Straight." : "Hand is not Straight!"); Console.WriteLine(checker.IsFullHouse(hand) ? "Full house." : "Hand is not Full house!"); Console.WriteLine(checker.IsFourOfAKind(hand) ? "Four of a kind." : "Hand is not Four of a kind!"); Console.WriteLine(checker.IsThreeOfAKind(hand) ? "Three of a kind." : "Hand is not Three of a kind!"); IHand hand1 = new Hand("K♥ J♥ 8♣ 7♦ 4♠"); Console.WriteLine(hand1); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public void StaightFlushhtWithAceAsMin() { IList<ICard> cards = new List<ICard>(); cards.Add(new Card(CardFace.Two, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Three, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Four, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Five, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Ace, CardSuit.Diamonds)); Hand hand = new Hand(cards); PokerHandsChecker checker = new PokerHandsChecker(); bool result = checker.IsRoyalFlush(hand); bool expected = false; Assert.AreEqual(expected, result); }
public void StraightFlushToKing() { IList<ICard> cards = new List<ICard>(); cards.Add(new Card(CardFace.Nine, CardSuit.Hearts)); cards.Add(new Card(CardFace.Queen, CardSuit.Hearts)); cards.Add(new Card(CardFace.Ten, CardSuit.Hearts)); cards.Add(new Card(CardFace.Jack, CardSuit.Hearts)); cards.Add(new Card(CardFace.King, CardSuit.Hearts)); Hand hand = new Hand(cards); PokerHandsChecker checker = new PokerHandsChecker(); bool result = checker.IsRoyalFlush(hand); bool expected = false; Assert.AreEqual(expected, result); }
public void StraightNoFlush() { IList<ICard> cards = new List<ICard>(); cards.Add(new Card(CardFace.Four, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Five, CardSuit.Hearts)); cards.Add(new Card(CardFace.Six, CardSuit.Spades)); cards.Add(new Card(CardFace.Seven, CardSuit.Clubs)); cards.Add(new Card(CardFace.Eight, CardSuit.Clubs)); Hand hand = new Hand(cards); PokerHandsChecker checker = new PokerHandsChecker(); bool result = checker.IsRoyalFlush(hand); bool expected = false; Assert.AreEqual(expected, result); }
public void TestRoyalFlush2() { IHand hand = new Hand("A♣ 10♣ K♣ Q♣ 2♣"); PokerHandsChecker checker = new PokerHandsChecker(); Assert.IsFalse(checker.IsRoyalFlush(hand), "Royal Flush is not identified correctly."); }