public void CompareHands_EqualFlushes() { IList<ICard> firstHandCards = new List<ICard> { new Card(CardFace.Queen, CardSuit.Hearts), new Card(CardFace.Ten, CardSuit.Hearts), new Card(CardFace.Seven, CardSuit.Hearts), new Card(CardFace.Five, CardSuit.Hearts), new Card(CardFace.Three, CardSuit.Hearts), }; IList<ICard> secondHandCards = new List<ICard> { new Card(CardFace.Queen, CardSuit.Clubs), new Card(CardFace.Ten, CardSuit.Clubs), new Card(CardFace.Seven, CardSuit.Clubs), new Card(CardFace.Five, CardSuit.Clubs), new Card(CardFace.Three, CardSuit.Clubs), }; Hand firstHand = new Hand(firstHandCards); Hand secondHand = new Hand(secondHandCards); PokerHandsChecker checker = new PokerHandsChecker(); int expected = 0; int actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(expected, actual); }
public void TestCompareHandsFirstHand() { Card cardOne = new Card(CardFace.Ace, CardSuit.Diamonds); Card cardTwo = new Card(CardFace.Ace, CardSuit.Hearts); Card cardThree = new Card(CardFace.Five, CardSuit.Spades); Card cardFour = new Card(CardFace.Ace, CardSuit.Clubs); Card cardFive = new Card(CardFace.Ace, CardSuit.Spades); IList<ICard> cardsOne = new List<ICard>(); cardsOne.Add(cardOne); cardsOne.Add(cardTwo); cardsOne.Add(cardThree); cardsOne.Add(cardFour); cardsOne.Add(cardFive); Hand handOne = new Hand(cardsOne); Card cardSix = new Card(CardFace.Two, CardSuit.Diamonds); Card cardSeven = new Card(CardFace.Jack, CardSuit.Hearts); Card cardEight = new Card(CardFace.Five, CardSuit.Spades); Card cardNine = new Card(CardFace.Ace, CardSuit.Clubs); Card cardTen = new Card(CardFace.Ten, CardSuit.Clubs); IList<ICard> cardsTwo = new List<ICard>(); cardsTwo.Add(cardSix); cardsTwo.Add(cardSeven); cardsTwo.Add(cardEight); cardsTwo.Add(cardNine); cardsTwo.Add(cardTen); Hand handTwo = new Hand(cardsTwo); PokerHandsChecker poker = new PokerHandsChecker(); int result = poker.CompareHands(handOne, handTwo); Assert.AreEqual(1, result, "CompareHands() method in class PokerHandsChecker is not working correctly."); }
public void CompareHands_EqualFullHouses() { IList<ICard> firstHandCards = new List<ICard> { new Card(CardFace.Six, CardSuit.Diamonds), new Card(CardFace.Two, CardSuit.Spades), new Card(CardFace.Two, CardSuit.Diamonds), new Card(CardFace.Two, CardSuit.Hearts), new Card(CardFace.Six, CardSuit.Hearts), }; IList<ICard> secondHandCards = new List<ICard> { new Card(CardFace.Six, CardSuit.Diamonds), new Card(CardFace.Two, CardSuit.Spades), new Card(CardFace.Two, CardSuit.Diamonds), new Card(CardFace.Two, CardSuit.Hearts), new Card(CardFace.Six, CardSuit.Hearts), }; Hand firstHand = new Hand(firstHandCards); Hand secondHand = new Hand(secondHandCards); PokerHandsChecker checker = new PokerHandsChecker(); int expected = 0; int actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(expected, actual); }
public void CompareHands_MinusOneOnSteelWheelAndHigherStraight() { IList<ICard> cardsFirstHand = new List<ICard>(); cardsFirstHand.Add(new Card(CardFace.Five, CardSuit.Clubs)); cardsFirstHand.Add(new Card(CardFace.Ace, CardSuit.Spades)); cardsFirstHand.Add(new Card(CardFace.Two, CardSuit.Diamonds)); cardsFirstHand.Add(new Card(CardFace.Four, CardSuit.Spades)); cardsFirstHand.Add(new Card(CardFace.Three, CardSuit.Hearts)); IHand firstHand = new Hand(cardsFirstHand); IList<ICard> cardsSecondHand = new List<ICard>(); cardsSecondHand.Add(new Card(CardFace.Seven, CardSuit.Diamonds)); cardsSecondHand.Add(new Card(CardFace.Five, CardSuit.Spades)); cardsSecondHand.Add(new Card(CardFace.Four, CardSuit.Diamonds)); cardsSecondHand.Add(new Card(CardFace.Three, CardSuit.Clubs)); cardsSecondHand.Add(new Card(CardFace.Six, CardSuit.Hearts)); IHand secondHand = new Hand(cardsSecondHand); PokerHandsChecker checker = new PokerHandsChecker(); int result = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(-1, result); }
public void CompareHands_MinusOneOnSimilarThrees() { IList<ICard> cardsFirstHand = new List<ICard>(); cardsFirstHand.Add(new Card(CardFace.Eight, CardSuit.Clubs)); // kicker 1 cardsFirstHand.Add(new Card(CardFace.Four, CardSuit.Spades)); cardsFirstHand.Add(new Card(CardFace.Four, CardSuit.Diamonds)); cardsFirstHand.Add(new Card(CardFace.Four, CardSuit.Clubs)); cardsFirstHand.Add(new Card(CardFace.Seven, CardSuit.Diamonds)); // kicker 2 IHand firstHand = new Hand(cardsFirstHand); IList<ICard> cardsSecondHand = new List<ICard>(); cardsSecondHand.Add(new Card(CardFace.Four, CardSuit.Diamonds)); cardsSecondHand.Add(new Card(CardFace.Four, CardSuit.Spades)); cardsSecondHand.Add(new Card(CardFace.Nine, CardSuit.Diamonds)); // kicker 1 cardsSecondHand.Add(new Card(CardFace.Two, CardSuit.Clubs)); cardsSecondHand.Add(new Card(CardFace.Four, CardSuit.Clubs)); // kicker 2 IHand secondHand = new Hand(cardsSecondHand); PokerHandsChecker checker = new PokerHandsChecker(); int result = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(-1, result); }
public void CompareHandsTestSecondBetterThanFirst() { PokerHandsChecker checker = new PokerHandsChecker(); Hand firstHand = new Hand(new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.King, CardSuit.Diamonds), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.Queen, CardSuit.Spades), new Card(CardFace.Queen, CardSuit.Clubs) }); Hand secondHand = new Hand(new List<ICard>() { new Card(CardFace.Ace, CardSuit.Spades), new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.Jack, CardSuit.Spades), new Card(CardFace.Queen, CardSuit.Spades), new Card(CardFace.Ten, CardSuit.Spades) }); int expectedResult = 1; int actual; actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(expectedResult, actual); }
static void Main() { Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; 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), }); IHand hand2 = new Hand(new List<ICard>() { new Card(CardFace.Two, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Diamonds), new Card(CardFace.Three, CardSuit.Hearts), new Card(CardFace.Three, CardSuit.Spades), new Card(CardFace.Two, CardSuit.Hearts), }); Console.WriteLine(hand); IPokerHandsChecker checker = new PokerHandsChecker(); Console.WriteLine("Is valid hand: " + checker.IsValidHand(hand)); Console.WriteLine("Is one pair: " + checker.IsOnePair(hand)); Console.WriteLine("Is two pairs: " + checker.IsTwoPair(hand)); Console.WriteLine(Environment.NewLine + "Compare hands. 1 for first hand. -1 for second hand. 0 for same hands"); Console.WriteLine("Hand: {0}, Hand2: {1} Compare: {2}", hand, hand2, checker.CompareHands(hand, hand2)); }
public void TestPokerCheckerCompareHighCardHandsFirstHigher() { List<ICard> cards = new List<ICard>(); cards.Add(new Card(CardFace.Six, CardSuit.Diamonds)); cards.Add(new Card(CardFace.King, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Two, CardSuit.Spades)); cards.Add(new Card(CardFace.Jack, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Ten, CardSuit.Diamonds)); var firstHand = new Hand(cards); cards = new List<ICard>(); cards.Add(new Card(CardFace.Queen, CardSuit.Hearts)); cards.Add(new Card(CardFace.Jack, CardSuit.Hearts)); cards.Add(new Card(CardFace.Two, CardSuit.Clubs)); cards.Add(new Card(CardFace.Ten, CardSuit.Hearts)); cards.Add(new Card(CardFace.Six, CardSuit.Hearts)); var secondHand = new Hand(cards); var checker = new PokerHandsChecker(); Assert.IsTrue(checker.CompareHands(firstHand, secondHand) == 1); }
public void TestPokerCheckerCompareDifferentHands() { List<ICard> cards = new List<ICard>(); cards.Add(new Card(CardFace.Ace, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Queen, CardSuit.Hearts)); cards.Add(new Card(CardFace.King, CardSuit.Spades)); cards.Add(new Card(CardFace.Eight, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Six, CardSuit.Clubs)); var firstHand = new Hand(cards); cards = new List<ICard>(); cards.Add(new Card(CardFace.Ace, CardSuit.Hearts)); cards.Add(new Card(CardFace.Ace, CardSuit.Spades)); cards.Add(new Card(CardFace.King, CardSuit.Diamonds)); cards.Add(new Card(CardFace.Eight, CardSuit.Clubs)); cards.Add(new Card(CardFace.Six, CardSuit.Hearts)); var secondHand = new Hand(cards); var checker = new PokerHandsChecker(); Assert.IsTrue(checker.CompareHands(firstHand, secondHand) == -1); }
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.IsOnePair(hand)); Console.WriteLine(checker.IsTwoPair(hand)); IList<ICard> firstCardsSet = new List<ICard>() { new Card(CardFace.Four, CardSuit.Clubs), new Card(CardFace.Three, CardSuit.Hearts), new Card(CardFace.Two, CardSuit.Spades), new Card(CardFace.Six, CardSuit.Clubs), new Card(CardFace.Five, CardSuit.Diamonds) }; IList<ICard> secondCardsSet = new List<ICard>() { new Card(CardFace.Ten, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.Jack, CardSuit.Hearts), new Card(CardFace.Queen, CardSuit.Diamonds), new Card(CardFace.Ace, CardSuit.Hearts) }; PokerHandsChecker handsChecker = new PokerHandsChecker(); IHand firstHand = new Hand(firstCardsSet); IHand secondHand = new Hand(secondCardsSet); int result = handsChecker.CompareHands(firstHand, secondHand); Console.WriteLine(result); }
public void TwoEaqualHands() { var firstHand = 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.Nine, CardSuit.Clubs) }); var secondHand = 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.Nine, CardSuit.Clubs) }); var checker = new PokerHandsChecker(); Assert.AreEqual(0, checker.CompareHands(firstHand, secondHand)); }
public void SecondHandIsPowerful() { var firstHand = new Hand(new List<ICard>() { new Card(CardFace.Ace, CardSuit.Hearts), new Card(CardFace.Seven, CardSuit.Spades), new Card(CardFace.Seven, CardSuit.Diamonds), new Card(CardFace.Ace, CardSuit.Spades), new Card(CardFace.Nine, CardSuit.Clubs) }); var secondHand = new Hand(new List<ICard>() { new Card(CardFace.Jack, CardSuit.Hearts), new Card(CardFace.Ten, CardSuit.Spades), new Card(CardFace.Jack, CardSuit.Diamonds), new Card(CardFace.Jack, CardSuit.Spades), new Card(CardFace.Jack, CardSuit.Clubs) }); var checker = new PokerHandsChecker(); Assert.AreEqual(-1, checker.CompareHands(firstHand, secondHand)); }
public void FirstHandIsPowerful() { var firstHand = new Hand(new List<ICard>() { new Card(CardFace.Three, CardSuit.Hearts), new Card(CardFace.Seven, CardSuit.Hearts), new Card(CardFace.Five, CardSuit.Hearts), new Card(CardFace.Four, CardSuit.Hearts), new Card(CardFace.Six, CardSuit.Hearts) }); var secondHand = 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.Queen, CardSuit.Spades), new Card(CardFace.Seven, CardSuit.Clubs) }); PokerHandsChecker checker = new PokerHandsChecker(); Assert.AreEqual(1, checker.CompareHands(firstHand, secondHand)); }
public void FirstHandStrongerTest() { IHand firstHand = new Hand(new List<ICard>() { new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Hearts), new Card(CardFace.Jack, CardSuit.Clubs), new Card(CardFace.Ten, CardSuit.Clubs) }); IHand secondHand = new Hand(new List<ICard>() { new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Hearts), new Card(CardFace.Jack, CardSuit.Clubs), new Card(CardFace.Ten, CardSuit.Clubs) }); PokerHandsChecker handsChecker = new PokerHandsChecker(); Assert.IsTrue(handsChecker.CompareHands(firstHand, secondHand) == 1); }
public void EqaulHandsTest() { IHand firstHand = new Hand(new List<ICard>() { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Ace, CardSuit.Hearts), new Card(CardFace.Three, CardSuit.Hearts), new Card(CardFace.Three, CardSuit.Clubs), new Card(CardFace.Three, CardSuit.Diamonds) }); IHand secondHand = new Hand(new List<ICard>() { new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.Ace, CardSuit.Spades), new Card(CardFace.Two, CardSuit.Hearts), new Card(CardFace.Two, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Diamonds) }); PokerHandsChecker handsChecker = new PokerHandsChecker(); Assert.IsTrue(handsChecker.CompareHands(firstHand, secondHand) == 0); }
public void CompareHandsFirstStrongerTest() { List<Card> firsrCards = new List<Card>(){ new Card(CardFace.Nine, CardSuit.Hearts), new Card(CardFace.Ten, CardSuit.Hearts), new Card(CardFace.Jack, CardSuit.Hearts), new Card(CardFace.Queen, CardSuit.Spades), new Card(CardFace.King, CardSuit.Hearts) }; IHand firstHand = new Hand(firsrCards.ToArray()); List<Card> secondCards = 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) }; IHand secondHand = new Hand(secondCards.ToArray()); PokerHandsChecker checker = new PokerHandsChecker(); var excpected = -1; var actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(excpected, actual); }
public void TestForCompareGreater() { IHand highCardHand = new Hand(new List<ICard>() { new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Hearts), new Card(CardFace.Jack, CardSuit.Clubs), new Card(CardFace.Three, CardSuit.Hearts), new Card(CardFace.Five, CardSuit.Diamonds), }); IHand straightHand = new Hand(new List<ICard>() { new Card(CardFace.Six, CardSuit.Clubs), new Card(CardFace.Seven, CardSuit.Spades), new Card(CardFace.Eight, CardSuit.Clubs), new Card(CardFace.Five, CardSuit.Hearts), new Card(CardFace.Four, CardSuit.Diamonds), }); IPokerHandsChecker checker = new PokerHandsChecker(); checker.CheckHand(straightHand); checker.CheckHand(highCardHand); Assert.AreEqual(1, checker.CompareHands(straightHand, highCardHand)); }
public void TestForCompareEqual() { IHand straightHand1 = new Hand(new List<ICard>() { new Card(CardFace.Six, CardSuit.Clubs), new Card(CardFace.Seven, CardSuit.Spades), new Card(CardFace.Eight, CardSuit.Clubs), new Card(CardFace.Five, CardSuit.Hearts), new Card(CardFace.Four, CardSuit.Diamonds), }); IHand straightHand = new Hand(new List<ICard>() { new Card(CardFace.Six, CardSuit.Clubs), new Card(CardFace.Seven, CardSuit.Spades), new Card(CardFace.Eight, CardSuit.Clubs), new Card(CardFace.Five, CardSuit.Hearts), new Card(CardFace.Four, CardSuit.Diamonds), }); IPokerHandsChecker checker = new PokerHandsChecker(); checker.CheckHand(straightHand); checker.CheckHand(straightHand1); Assert.AreEqual(0, checker.CompareHands(straightHand, straightHand1)); }
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); IHand firstHand = new Hand(new List<ICard>() { new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Hearts), new Card(CardFace.Jack, CardSuit.Clubs), new Card(CardFace.Ten, CardSuit.Clubs) }); IHand secondHand = new Hand(new List<ICard>() { new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Hearts), new Card(CardFace.Jack, CardSuit.Clubs), new Card(CardFace.Ten, CardSuit.Clubs) }); PokerHandsChecker handsChecker = new PokerHandsChecker(); Console.WriteLine(handsChecker.CompareHands(firstHand, secondHand) == 1); // Console.WriteLine(checker.IsOnePair(hand)); // Console.WriteLine(checker.IsTwoPair(hand)); }
static void Main() { Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; 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), }); IHand hand2 = new Hand(new List <ICard>() { new Card(CardFace.Two, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Diamonds), new Card(CardFace.Three, CardSuit.Hearts), new Card(CardFace.Three, CardSuit.Spades), new Card(CardFace.Two, CardSuit.Hearts), }); Console.WriteLine(hand); IPokerHandsChecker checker = new PokerHandsChecker(); Console.WriteLine("Is valid hand: " + checker.IsValidHand(hand)); Console.WriteLine("Is one pair: " + checker.IsOnePair(hand)); Console.WriteLine("Is two pairs: " + checker.IsTwoPair(hand)); Console.WriteLine(Environment.NewLine + "Compare hands. 1 for first hand. -1 for second hand. 0 for same hands"); Console.WriteLine("Hand: {0}, Hand2: {1} Compare: {2}", hand, hand2, checker.CompareHands(hand, hand2)); }
public void ComparingNullHands() { IHand firstHand = null; IHand secondHand = null; var checker = new PokerHandsChecker(); checker.CompareHands(firstHand, secondHand); }
public void CompareHands_TwoPairsAceAndJackKickerThreeWithTwoPairsAceAndJackKickerTwo() { IList<ICard> firstHandCards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.Jack, CardSuit.Hearts), new Card(CardFace.Jack, CardSuit.Spades), new Card(CardFace.Three, CardSuit.Diamonds), }; IList<ICard> secondHandCards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.Jack, CardSuit.Hearts), new Card(CardFace.Jack, CardSuit.Spades), new Card(CardFace.Two, CardSuit.Diamonds), }; Hand firstHand = new Hand(firstHandCards); Hand secondHand = new Hand(secondHandCards); PokerHandsChecker checker = new PokerHandsChecker(); int expected = 1; int actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(expected, actual); }
public void CompareHands_ThreeOfAKindSixWithThreeOfAKindAce() { IList<ICard> firstHandCards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Queen, CardSuit.Hearts), new Card(CardFace.Six, CardSuit.Clubs), new Card(CardFace.Six, CardSuit.Hearts), new Card(CardFace.Six, CardSuit.Spades), }; IList<ICard> secondHandCards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Queen, CardSuit.Hearts), new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.Ace, CardSuit.Hearts), new Card(CardFace.Six, CardSuit.Spades), }; Hand firstHand = new Hand(firstHandCards); Hand secondHand = new Hand(secondHandCards); PokerHandsChecker checker = new PokerHandsChecker(); int expected = -1; int actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(expected, actual); }
public void CompareHands_StraightWithStraightFlush() { IList<ICard> firstHandCards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Queen, CardSuit.Diamonds), new Card(CardFace.King, CardSuit.Hearts), new Card(CardFace.Jack, CardSuit.Diamonds), new Card(CardFace.Ten, CardSuit.Clubs), }; IList<ICard> secondHandCards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Queen, CardSuit.Diamonds), new Card(CardFace.King, CardSuit.Diamonds), new Card(CardFace.Jack, CardSuit.Diamonds), new Card(CardFace.Ten, CardSuit.Diamonds), }; Hand firstHand = new Hand(firstHandCards); Hand secondHand = new Hand(secondHandCards); PokerHandsChecker checker = new PokerHandsChecker(); int expected = -1; int actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(expected, actual); }
public void CompareHands_StraightToSixWithStraightToSeven() { IList<ICard> firstHandCards = new List<ICard> { new Card(CardFace.Five, CardSuit.Diamonds), new Card(CardFace.Four, CardSuit.Diamonds), new Card(CardFace.Three, CardSuit.Hearts), new Card(CardFace.Six, CardSuit.Diamonds), new Card(CardFace.Two, CardSuit.Diamonds), }; IList<ICard> secondHandCards = new List<ICard> { new Card(CardFace.Five, CardSuit.Diamonds), new Card(CardFace.Four, CardSuit.Clubs), new Card(CardFace.Three, CardSuit.Diamonds), new Card(CardFace.Seven, CardSuit.Diamonds), new Card(CardFace.Six, CardSuit.Diamonds), }; Hand firstHand = new Hand(firstHandCards); Hand secondHand = new Hand(secondHandCards); PokerHandsChecker checker = new PokerHandsChecker(); int expected = -1; int actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(expected, actual); }
public void CompareHands_EqualHandsHighCard() { IList<ICard> firstHandCards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Queen, CardSuit.Spades), new Card(CardFace.Nine, CardSuit.Diamonds), new Card(CardFace.Two, CardSuit.Hearts), new Card(CardFace.Three, CardSuit.Hearts), }; IList<ICard> secondHandCards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Queen, CardSuit.Hearts), new Card(CardFace.Nine, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Hearts), new Card(CardFace.Three, CardSuit.Hearts), }; Hand firstHand = new Hand(firstHandCards); Hand secondHand = new Hand(secondHandCards); PokerHandsChecker checker = new PokerHandsChecker(); int expected = 0; int actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(expected, actual); }
public void CompareHands_OnePairAceFirstKickerSixWithOnePairAceFirstKickerFive() { IList<ICard> firstHandCards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.Six, CardSuit.Hearts), new Card(CardFace.Two, CardSuit.Spades), new Card(CardFace.Three, CardSuit.Diamonds), }; IList<ICard> secondHandCards = new List<ICard> { new Card(CardFace.Two, CardSuit.Spades), new Card(CardFace.Three, CardSuit.Diamonds), new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.Five, CardSuit.Hearts), }; Hand firstHand = new Hand(firstHandCards); Hand secondHand = new Hand(secondHandCards); PokerHandsChecker checker = new PokerHandsChecker(); int expected = 1; int actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(expected, actual); }
public void CompareHands_FourOfAKindWithFullHouse() { IList<ICard> firstHandCards = new List<ICard> { new Card(CardFace.Five, CardSuit.Diamonds), new Card(CardFace.Five, CardSuit.Clubs), new Card(CardFace.Five, CardSuit.Hearts), new Card(CardFace.Five, CardSuit.Spades), new Card(CardFace.Ace, CardSuit.Diamonds), }; IList<ICard> secondHandCards = new List<ICard> { new Card(CardFace.Five, CardSuit.Diamonds), new Card(CardFace.Five, CardSuit.Clubs), new Card(CardFace.Five, CardSuit.Hearts), new Card(CardFace.Two, CardSuit.Diamonds), new Card(CardFace.Two, CardSuit.Hearts), }; Hand firstHand = new Hand(firstHandCards); Hand secondHand = new Hand(secondHandCards); PokerHandsChecker checker = new PokerHandsChecker(); int expected = 1; int actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(expected, actual); }
public void CompareHands_FlushTenWithFlushAce() { IList<ICard> firstHandCards = new List<ICard> { new Card(CardFace.Ten, CardSuit.Hearts), new Card(CardFace.Nine, CardSuit.Hearts), new Card(CardFace.Two, CardSuit.Hearts), new Card(CardFace.Six, CardSuit.Hearts), new Card(CardFace.Four, CardSuit.Hearts), }; IList<ICard> secondHandCards = new List<ICard> { new Card(CardFace.Ace, CardSuit.Diamonds), new Card(CardFace.Jack, CardSuit.Diamonds), new Card(CardFace.Queen, CardSuit.Diamonds), new Card(CardFace.Six, CardSuit.Diamonds), new Card(CardFace.Four, CardSuit.Diamonds), }; Hand firstHand = new Hand(firstHandCards); Hand secondHand = new Hand(secondHandCards); PokerHandsChecker checker = new PokerHandsChecker(); int expected = -1; int actual = checker.CompareHands(firstHand, secondHand); Assert.AreEqual(expected, actual); }
public void TestCompareHandsInvalidHands() { Card cardOne = new Card(CardFace.Two, CardSuit.Diamonds); Card cardTwo = new Card(CardFace.Jack, CardSuit.Hearts); Card cardThree = new Card(CardFace.Five, CardSuit.Spades); Card cardFour = new Card(CardFace.Ace, CardSuit.Clubs); Card cardFive = new Card(CardFace.Ace, CardSuit.Clubs); IList<ICard> cards = new List<ICard>(); cards.Add(cardOne); cards.Add(cardTwo); cards.Add(cardThree); cards.Add(cardFour); cards.Add(cardFive); Hand handOne = new Hand(cards); IList<ICard> lessCards = new List<ICard>(); lessCards.Add(cardOne); lessCards.Add(cardTwo); lessCards.Add(cardThree); lessCards.Add(cardFour); Hand handTwo = new Hand(lessCards); PokerHandsChecker poker = new PokerHandsChecker(); int result = poker.CompareHands(handOne, handTwo); }
public void NullTest() { PokerHandsChecker handsChecker = new PokerHandsChecker(); handsChecker.CompareHands(null, null); }