static void Main() { ICard card = new Card(CardFace.Ace, CardSuit.Clubs); Console.WriteLine(card); IHand hand = new Hand(new List<ICard>() { new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.King, CardSuit.Hearts), new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.Seven, CardSuit.Diamonds), }); Console.WriteLine(hand); IPokerHandsChecker checker = new PokerHandsChecker(); Console.WriteLine(checker.IsValidHand(hand)); Console.WriteLine(checker.IsStraight(hand)); Console.WriteLine(checker.IsOnePair(hand)); Console.WriteLine(checker.IsTwoPair(hand)); Console.WriteLine(checker.IsStraightFlush(hand)); Console.WriteLine(checker.IsFlush(hand)); Console.WriteLine(checker.IsFourOfAKind(hand)); Console.WriteLine(checker.IsThreeOfAKind(hand)); Console.WriteLine(checker.IsHighCard(hand)); Console.WriteLine(checker.IsFullHouse(hand)); }
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 ThreeOfAKindHand() { var hand = new Hand(new List<ICard>() { new Card(CardFace.Queen, CardSuit.Hearts), new Card(CardFace.Seven, CardSuit.Spades), new Card(CardFace.Seven, CardSuit.Diamonds), new Card(CardFace.Ten, CardSuit.Spades), new Card(CardFace.Seven, CardSuit.Clubs) }); var checker = new PokerHandsChecker(); Assert.IsTrue(checker.IsThreeOfAKind(hand)); }
public void TestIsThreeOfAKindLessCards() { Card cardOne = new Card(CardFace.Two, CardSuit.Diamonds); Card cardTwo = new Card(CardFace.Two, CardSuit.Hearts); Card cardThree = new Card(CardFace.Two, CardSuit.Spades); IList<ICard> cards = new List<ICard>(); cards.Add(cardOne); cards.Add(cardTwo); cards.Add(cardThree); Hand hand = new Hand(cards); PokerHandsChecker poker = new PokerHandsChecker(); bool isThreeOfAKind = poker.IsThreeOfAKind(hand); Assert.AreEqual(false, isThreeOfAKind, "IsThreeOfAKind() method in class PokerHandsChecker is not working correctly."); }
public void IsThreeOfAKind_HandWithTwoPairs() { IList<ICard> cards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Ace, CardSuit.Hearts), new Card(CardFace.Eight, CardSuit.Clubs), new Card(CardFace.Six, CardSuit.Hearts), new Card(CardFace.Six, CardSuit.Spades), }; Hand hand = new Hand(cards); PokerHandsChecker checker = new PokerHandsChecker(); Assert.IsFalse(checker.IsThreeOfAKind(hand)); }
public void NotThreeOfAkind() { IList<ICard> cards = new List<ICard>(); cards.Add(new Card(CardFace.King, CardSuit.Clubs)); cards.Add(new Card(CardFace.Three, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Four, CardSuit.Hearts)); cards.Add(new Card(CardFace.Jack, CardSuit.Spades)); cards.Add(new Card(CardFace.Ten, CardSuit.Clubs)); Hand hand = new Hand(cards); PokerHandsChecker checker = new PokerHandsChecker(); bool result = checker.IsThreeOfAKind(hand); bool expected = false; Assert.AreEqual(expected, result); }
public void IsThreeOfAKindTest() { Card twoOfHearts = new Card(CardFace.Two, CardSuit.Hearts); Card aceOfSpades = new Card(CardFace.Ace, CardSuit.Spades); Card threeOfHearts = new Card(CardFace.Ace, CardSuit.Hearts); Card kingOfClubs = new Card(CardFace.Ace, CardSuit.Clubs); Card tenOfHearts = new Card(CardFace.Ten, CardSuit.Hearts); List<ICard> cardsInHand = new List<ICard>(); cardsInHand.Add(twoOfHearts); cardsInHand.Add(aceOfSpades); cardsInHand.Add(threeOfHearts); cardsInHand.Add(kingOfClubs); cardsInHand.Add(tenOfHearts); IHand hand = new Hand(cardsInHand); PokerHandsChecker handsChecker = new PokerHandsChecker(); Assert.IsTrue(handsChecker.IsThreeOfAKind(hand)); }
public void IsNotThreeOfAKindTest() { Card aceClubs = new Card(CardFace.Ace, CardSuit.Clubs); Card queenClubs = new Card(CardFace.Queen, CardSuit.Clubs); Card kingHearts = new Card(CardFace.King, CardSuit.Hearts); Card jackClubs = new Card(CardFace.Jack, CardSuit.Clubs); Card tenOfClubs = new Card(CardFace.Ten, CardSuit.Clubs); List<ICard> cardsInHand = new List<ICard>(); cardsInHand.Add(tenOfClubs); cardsInHand.Add(aceClubs); cardsInHand.Add(jackClubs); cardsInHand.Add(queenClubs); cardsInHand.Add(kingHearts); IHand hand = new Hand(cardsInHand); PokerHandsChecker handsChecker = new PokerHandsChecker(); Assert.IsFalse(handsChecker.IsThreeOfAKind(hand)); }
public void IsThreeOfAKindTestValidHandFullHouse() { PokerHandsChecker checker = new PokerHandsChecker(); Hand hand = new Hand(new List<ICard>() { new Card(CardFace.Three, CardSuit.Clubs), new Card(CardFace.Queen, CardSuit.Spades), new Card(CardFace.Queen, CardSuit.Clubs), new Card(CardFace.Queen, CardSuit.Diamonds), new Card(CardFace.Three, CardSuit.Spades) }); bool expectedIsThreeOfAKind = false; bool actual; actual = checker.IsThreeOfAKind(hand); Assert.AreEqual(expectedIsThreeOfAKind, actual); }
static void Main() { ICard card = new Card(CardFace.Ace, CardSuit.Clubs); Console.WriteLine("Current card is: " + card + Environment.NewLine); ///Normal hand\\\ IHand hand = new Hand(new List <ICard>() { new Card(CardFace.Three, CardSuit.Clubs), new Card(CardFace.Six, CardSuit.Diamonds), new Card(CardFace.King, CardSuit.Hearts), new Card(CardFace.Two, CardSuit.Spades), new Card(CardFace.Seven, CardSuit.Diamonds), }); /////Flush\\\ //IHand hand = new Hand(new List<ICard>() { // new Card(CardFace.Ace, CardSuit.Clubs), // new Card(CardFace.Ace, CardSuit.Clubs), // new Card(CardFace.King, CardSuit.Clubs), // new Card(CardFace.King, CardSuit.Clubs), // new Card(CardFace.Seven, CardSuit.Clubs), //}); /////Four of a kind\\\ //IHand hand = new Hand(new List<ICard>() { // new Card(CardFace.Ace, CardSuit.Clubs), // new Card(CardFace.Ace, CardSuit.Diamonds), // new Card(CardFace.Ace, CardSuit.Hearts), // new Card(CardFace.Ace, CardSuit.Spades), // new Card(CardFace.Eight, CardSuit.Clubs), //}); /////One pair\\\ //IHand hand = new Hand(new List<ICard>() { // new Card(CardFace.Ace, CardSuit.Clubs), // new Card(CardFace.Ace, CardSuit.Diamonds), // new Card(CardFace.Five, CardSuit.Hearts), // new Card(CardFace.Jack, CardSuit.Spades), // new Card(CardFace.Eight, CardSuit.Clubs), //}); /////Two pairs\\\ //IHand hand = new Hand(new List<ICard>() { // new Card(CardFace.Ace, CardSuit.Clubs), // new Card(CardFace.Ace, CardSuit.Diamonds), // new Card(CardFace.Five, CardSuit.Hearts), // new Card(CardFace.Jack, CardSuit.Spades), // new Card(CardFace.Jack, CardSuit.Clubs), //}); /////Straight Flush\\\ //IHand hand = new Hand(new List<ICard>() { // new Card(CardFace.Jack, CardSuit.Clubs), // new Card(CardFace.Ten, CardSuit.Clubs), // new Card(CardFace.Nine, CardSuit.Clubs), // new Card(CardFace.Eight, CardSuit.Clubs), // new Card(CardFace.Seven, CardSuit.Clubs), //}); /////Full House\\\ //IHand hand = new Hand(new List<ICard>() { // new Card(CardFace.Six, CardSuit.Diamonds), // new Card(CardFace.Six, CardSuit.Hearts), // new Card(CardFace.Nine, CardSuit.Clubs), // new Card(CardFace.Nine, CardSuit.Spades), // new Card(CardFace.Nine, CardSuit.Clubs), //}); /////Straight\\\ //IHand hand = new Hand(new List<ICard>() { // new Card(CardFace.King, CardSuit.Diamonds), // new Card(CardFace.Queen, CardSuit.Hearts), // new Card(CardFace.Jack, CardSuit.Clubs), // new Card(CardFace.Ten, CardSuit.Spades), // new Card(CardFace.Nine, CardSuit.Clubs), //}); Console.WriteLine(hand + Environment.NewLine); IPokerHandsChecker checker = new PokerHandsChecker(); Console.WriteLine("Is this hand valid: " + checker.IsValidHand(hand)); Console.WriteLine("Do you have one pair: " + checker.IsOnePair(hand)); Console.WriteLine("Do you have two pairs: " + checker.IsTwoPair(hand)); Console.WriteLine("Do you have a flush: " + checker.IsFlush(hand)); Console.WriteLine("Do you have four of a kind: " + checker.IsFourOfAKind(hand)); Console.WriteLine("Do you have three of a kind: " + checker.IsThreeOfAKind(hand)); Console.WriteLine("Do you have straight flush: " + checker.IsStraightFlush(hand)); Console.WriteLine("Do you have a full house: " + checker.IsFullHouse(hand)); Console.WriteLine("Do you have a straight: " + checker.IsStraight(hand)); Console.WriteLine("Do you have high card: " + checker.IsHighCard(hand)); }
public void ThreeOfAKindCheckerShouldReturnTrueWhenTheHandIsValidThreeOfAKind() { IPokerHandsChecker checker = new PokerHandsChecker(); IHand hand = new Hand(new List<ICard>() { new Card(CardFace.Eight, CardSuit.Diamonds), new Card(CardFace.Eight, CardSuit.Hearts), new Card(CardFace.Eight, CardSuit.Spades), new Card(CardFace.Five, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Diamonds) }); bool result = checker.IsThreeOfAKind(hand); bool expected = true; Assert.AreEqual(result, expected); }
public void ThreeOfAKindFalseTest() { List<Card> cards = new List<Card>(){ new Card(CardFace.Nine, CardSuit.Hearts), new Card(CardFace.Ten, CardSuit.Hearts), new Card(CardFace.Jack, CardSuit.Hearts), new Card(CardFace.Ace, CardSuit.Spades), new Card(CardFace.King, CardSuit.Hearts) }; Hand hand = new Hand(cards.ToArray()); PokerHandsChecker checker = new PokerHandsChecker(); var excpected = false; var actual = checker.IsThreeOfAKind(hand); Assert.AreEqual(excpected, actual); }
public void TestIsThreeOfAKindShouldReturnTrue() { var checker = new PokerHandsChecker(); var cards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Two, CardSuit.Diamonds), new Card(CardFace.Two, CardSuit.Spades), new Card(CardFace.Two, CardSuit.Hearts), new Card(CardFace.Five, CardSuit.Hearts) }; var hand = new Hand(cards); Assert.IsTrue(checker.IsThreeOfAKind(hand)); }
public void TestIsThreeOfAKindShouldReturnFalseWhenNotMatchingHandPassed_FullHouse() { var checker = new PokerHandsChecker(); var cards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Two, CardSuit.Diamonds), new Card(CardFace.Two, CardSuit.Spades), new Card(CardFace.Two, CardSuit.Hearts), new Card(CardFace.Ace, CardSuit.Hearts) }; var hand = new Hand(cards); Assert.IsFalse(checker.IsThreeOfAKind(hand)); }
public void IsThreeOfAKindTest() { PokerHandsChecker target = new PokerHandsChecker(); IList<ICard> cards = new List<ICard>(); cards.Add(new Card(CardFace.Three, CardSuit.Spades)); cards.Add(new Card(CardFace.Three, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Three, CardSuit.Hearts)); cards.Add(new Card(CardFace.Queen, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Two, CardSuit.Clubs)); IHand hand = new Hand(cards); bool expected = true; bool actual; actual = target.IsThreeOfAKind(hand); Assert.AreEqual(expected, actual); }
public void TestThreeOfAKind3() { IHand hand = new Hand("A♦ A♠ A♣ K♠ Q♥"); PokerHandsChecker checker = new PokerHandsChecker(); Assert.IsTrue(checker.IsThreeOfAKind(hand), "Three of a kind is not identified correctly."); }
public void IsThreeOfAKindNullTest() { PokerHandsChecker handsChecker = new PokerHandsChecker(); Assert.IsFalse(handsChecker.IsThreeOfAKind(null)); }
public void TestPokerCheckerThreeOfAKindHand() { List<ICard> cards = new List<ICard>(); cards.Add(new Card(CardFace.Queen, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Queen, CardSuit.Hearts)); cards.Add(new Card(CardFace.Queen, CardSuit.Spades)); cards.Add(new Card(CardFace.Seven, CardSuit.Clubs)); cards.Add(new Card(CardFace.Six, CardSuit.Spades)); var hand = new Hand(cards); var checker = new PokerHandsChecker(); Assert.IsTrue(checker.IsThreeOfAKind(hand)); }