public void Comparer_WhenComparing_FourOfAKind_To_FullHouse_FourOfAKind_Wins() { var pokerHand1 = PokerHandTestHelper.CreateLowFourOfAKind(); var pokerHand2 = PokerHandTestHelper.CreateHighFullHouse(); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand1 to beat Hand2"); }
public void Comparer_WhenComparing_1stHigh_HighCard_ToLowerHighCard_Ensures_High_Wins() { var pokerHand1 = PokerHandTestHelper.CreateHighHighCard(); var pokerHand2 = PokerHandTestHelper.CreateLowHighCard(); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand1 to beat Hand2"); }
public void Comparer_WhenComparing_MatchingHighCard_ToMatchHighCard_Ensures_A_Tie() { var pokerHand1 = PokerHandTestHelper.CreateHighHighCard(); var pokerHand2 = PokerHandTestHelper.CreateHighHighCard(); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(0, result, "Expected Hand1 and Hand2 be equivalent"); }
public void Comparer_WhenComparing_SamePairHigh2ndCard_ToSamePairLow2ndCard_Ensures_High_Wins() { var pokerHand1 = PokerHandTestHelper.CreatePairDifferentNonPairCardValue(CardValue.King, CardValue.Queen, CardValue.Ten); var pokerHand2 = PokerHandTestHelper.CreatePairDifferentNonPairCardValue(CardValue.King, CardValue.Jack, CardValue.Ten); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand1 to beat Hand2"); }
public void Comparer_WhenComparing_SamePairLow3rdCard_ToSamePairHigh3rdCard_Ensures_Low_Loses() { var pokerHand1 = PokerHandTestHelper.CreatePairDifferentNonPairCardValue(CardValue.King, CardValue.Queen, CardValue.Nine); var pokerHand2 = PokerHandTestHelper.CreatePairDifferentNonPairCardValue(CardValue.King, CardValue.Queen, CardValue.Ten); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(-1, result, "Expected Hand1 to lose to Hand2"); }
public void Comparer_WhenComparing_LowPair_ToLowPair_Ensures_A_Tie() { var pokerHand1 = PokerHandTestHelper.CreateLowPair(); var pokerHand2 = PokerHandTestHelper.CreateLowPair(); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(0, result, "Expected Hand1 and Hand2 be equivalent"); }
public void Comparer_WhenComparing_Flush_To_Straight_Flush_Wins() { var pokerHand1 = PokerHandTestHelper.CreateLowFlush(); var pokerHand2 = PokerHandTestHelper.CreateHighStraight(); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand1 to beat Hand2"); }
public void MatchingStraightFlushes() { var pokerHand1 = PokerHandTestHelper.CreateAceLowStraightFlush(); var pokerHand2 = PokerHandTestHelper.CreateAceLowStraightFlush(); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(0, result, "Expected Hand1 and Hand2 be equivalent"); }
public void Comparer_WhenComparing_LowPair_ToHighPair_Ensures_Low_Loses() { var pokerHand1 = PokerHandTestHelper.CreateLowPair(); var pokerHand2 = PokerHandTestHelper.CreateHighPair(); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(-1, result, "Expected Hand1 to lose to Hand2"); }
public void Comparer_WhenComparing_TwoPairWithHighFifth_ToTwoPairWithLowFifth_EnsuresHigh_Wins() { var pokerHand1 = PokerHandTestHelper.CreateSameTwoPairsDifferentFifthCard(CardValue.Ace); var pokerHand2 = PokerHandTestHelper.CreateSameTwoPairsDifferentFifthCard(CardValue.Eight); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand1 to beat Hand2"); }
public void Comparer_WhenComparing_ThreeOfAKind_To_TwoPair_ThreeOfAKind_Wins() { var pokerHand1 = PokerHandTestHelper.CreateLowThreeOfAKind(); var pokerHand2 = PokerHandTestHelper.CreateHighTwoPairs(); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand1 to beat Hand2"); }
public void Comparer_WhenComparingLowFourOfAKind_ToHighFourOfAKind_Ensures_Low_Loses() { var pokerHand1 = PokerHandTestHelper.CreateLowFourOfAKind(); var pokerHand2 = PokerHandTestHelper.CreateHighFourOfAKind(); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(-1, result, "Expected Hand1 to beat Hand2"); }
public void Comparer_WhenComparingHighFourOfAKind_ToLowFourOfAKind_Ensures_High_Wins() { var pokerHand1 = PokerHandTestHelper.CreateHighFourOfAKind(); var pokerHand2 = PokerHandTestHelper.CreateLowFourOfAKind(); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand2 to lose to Hand1"); }
public void HighStraightFlushVsLowStraightFlush() { var pokerHand1 = PokerHandTestHelper.CreateHighStraightFlush(); var pokerHand2 = PokerHandTestHelper.CreateAceLowStraightFlush(); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand2 to lose to Hand1"); result = _comparer.CompareHands(pokerHand2, pokerHand1); Assert.AreEqual(-1, result, "Expected Hand1 to beat Hand2"); }
public void Factory_WhenPassed_TwoPair_Spec_Example_2_Returns_TwoPair() { var pokerHand = PokerHandTestHelper.CreateHand( new Card(CardSuit.Club, CardValue.Jack), new Card(CardSuit.Spade, CardValue.Jack), new Card(CardSuit.Club, CardValue.Six), new Card(CardSuit.Heart, CardValue.Queen), new Card(CardSuit.Club, CardValue.Six) ); Assert.IsTrue(SpecifiedPokerHand(pokerHand) is TwoPair); }
public void Factory_WhenPassed_ThreeOfAKind_Spec_Example_2_Returns_ThreeOfAKind() { var pokerHand = PokerHandTestHelper.CreateHand( new Card(CardSuit.Club, CardValue.Seven), new Card(CardSuit.Diamond, CardValue.Seven), new Card(CardSuit.Club, CardValue.Seven), new Card(CardSuit.Heart, CardValue.Four), new Card(CardSuit.Club, CardValue.Three) ); Assert.IsTrue(SpecifiedPokerHand(pokerHand) is ThreeOfAKind); }
public void Factory_WhenPassed_ThreeOfAKind_Spec_Example_1_Returns_ThreeOfAKind() { var pokerHand = PokerHandTestHelper.CreateHand( new Card(CardSuit.Club, CardValue.Queen), new Card(CardSuit.Spade, CardValue.Nine), new Card(CardSuit.Club, CardValue.Queen), new Card(CardSuit.Heart, CardValue.Queen), new Card(CardSuit.Club, CardValue.Two) ); Assert.IsTrue(SpecifiedPokerHand(pokerHand) is ThreeOfAKind); }
public void Factory_WhenPassed_StraightFlush_Spec_Example_4_Returns_StraightFlush() { var pokerHand = PokerHandTestHelper.CreateHand( new Card(CardSuit.Spade, CardValue.Ten), new Card(CardSuit.Spade, CardValue.Jack), new Card(CardSuit.Spade, CardValue.Queen), new Card(CardSuit.Spade, CardValue.King), new Card(CardSuit.Spade, CardValue.Ace) ); // could use this assertion, but i prefer the "IsTrue" which I feel is more readable. Assert.IsInstanceOfType(SpecifiedPokerHand(pokerHand), typeof(StraightFlush)); }
public void Factory_WhenPassed_StraightFlush_Spec_Example_2_Returns_StraightFlush() { var pokerHand = PokerHandTestHelper.CreateHand( new Card(CardSuit.Diamond, CardValue.Three), new Card(CardSuit.Diamond, CardValue.Four), new Card(CardSuit.Diamond, CardValue.Five), new Card(CardSuit.Diamond, CardValue.Six), new Card(CardSuit.Diamond, CardValue.Seven) ); // could use this assertion, but i prefer the "IsTrue" which I feel is more readable. Assert.IsInstanceOfType(SpecifiedPokerHand(pokerHand), typeof(StraightFlush)); }
public void Factory_WhenPassed_FullHouse_Spec_Example_2_Returns_FullHouse() { var pokerHand = PokerHandTestHelper.CreateHand( new Card(CardSuit.Heart, CardValue.Ace), new Card(CardSuit.Heart, CardValue.Ace), new Card(CardSuit.Heart, CardValue.Ace), new Card(CardSuit.Heart, CardValue.Nine), new Card(CardSuit.Heart, CardValue.Nine) ); // could use this assertion, but i prefer the "IsTrue" which I feel is more readable. Assert.IsInstanceOfType(SpecifiedPokerHand(pokerHand), typeof(FullHouse)); }
public void Comparer_Comparing_HighCards_Example_2() { var pokerHand1 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Club, CardValue.Ace), new Card(CardSuit.Diamond, CardValue.Jack), new Card(CardSuit.Club, CardValue.Six), new Card(CardSuit.Heart, CardValue.Five), new Card(CardSuit.Club, CardValue.Three) ); var pokerHand2 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Club, CardValue.Ace), new Card(CardSuit.Diamond, CardValue.Jack), new Card(CardSuit.Club, CardValue.Six), new Card(CardSuit.Heart, CardValue.Five), new Card(CardSuit.Club, CardValue.Two) ); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand1 to beat Hand2"); }
public void Comparer_HigherFullHouse_Beats_LowerFullHouse_Spec_Example_1() { var pokerHand1 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Diamond, CardValue.Five), new Card(CardSuit.Diamond, CardValue.Five), new Card(CardSuit.Diamond, CardValue.Five), new Card(CardSuit.Diamond, CardValue.Queen), new Card(CardSuit.Diamond, CardValue.Queen) ); var pokerHand2 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Diamond, CardValue.Ace), new Card(CardSuit.Diamond, CardValue.Ace), new Card(CardSuit.Diamond, CardValue.Four), new Card(CardSuit.Diamond, CardValue.Four), new Card(CardSuit.Diamond, CardValue.Four) ); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand2 to lose to Hand1"); }
public void Comparer_HigherStraightFlush_Beats_LowerStraightFlush_Spec_Example_1() { var pokerHand1 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Diamond, CardValue.Eight), new Card(CardSuit.Diamond, CardValue.Nine), new Card(CardSuit.Diamond, CardValue.Ten), new Card(CardSuit.Diamond, CardValue.Jack), new Card(CardSuit.Diamond, CardValue.Queen) ); var pokerHand2 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Diamond, CardValue.Six), new Card(CardSuit.Diamond, CardValue.Seven), new Card(CardSuit.Diamond, CardValue.Eight), new Card(CardSuit.Diamond, CardValue.Nine), new Card(CardSuit.Diamond, CardValue.Ten) ); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand2 to lose to Hand1"); }
public void Comparer_LowerStraightFlush_Loses_To_HigherStraightFlush() { var pokerHand1 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Diamond, CardValue.Eight), new Card(CardSuit.Diamond, CardValue.Seven), new Card(CardSuit.Diamond, CardValue.Six), new Card(CardSuit.Diamond, CardValue.Five), new Card(CardSuit.Diamond, CardValue.Four) ); var pokerHand2 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Heart, CardValue.Five), new Card(CardSuit.Heart, CardValue.Six), new Card(CardSuit.Heart, CardValue.Seven), new Card(CardSuit.Heart, CardValue.Eight), new Card(CardSuit.Heart, CardValue.Nine) ); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(-1, result, "Expected Hand1 to lose to Hand2"); }
public void Comparer_Comparing_HighCards_Example_3() { var pokerHand1 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Club, CardValue.Jack), new Card(CardSuit.Diamond, CardValue.Ten), new Card(CardSuit.Club, CardValue.Seven), new Card(CardSuit.Heart, CardValue.Six), new Card(CardSuit.Club, CardValue.Five) ); var pokerHand2 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Diamond, CardValue.Jack), new Card(CardSuit.Diamond, CardValue.Ten), new Card(CardSuit.Spade, CardValue.Seven), new Card(CardSuit.Heart, CardValue.Six), new Card(CardSuit.Club, CardValue.Five) ); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(0, result, "Expected Hand1 and Hand2 be equivalent"); }
public void Comparer_WhenComparing_MatchingHighCard_ToMatchHighCard_DifferentOrder_Ensures_A_Tie() { var pokerHand1 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Club, CardValue.Jack), new Card(CardSuit.Spade, CardValue.Queen), new Card(CardSuit.Club, CardValue.Nine), new Card(CardSuit.Diamond, CardValue.Ten), new Card(CardSuit.Club, CardValue.King) ); var pokerHand2 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Club, CardValue.Queen), new Card(CardSuit.Spade, CardValue.Ten), new Card(CardSuit.Club, CardValue.Jack), new Card(CardSuit.Diamond, CardValue.King), new Card(CardSuit.Club, CardValue.Nine) ); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(0, result, "Expected Hand1 and Hand2 be equivalent"); }
public void Comparer_Comparing_HighCards_Example_1() { var pokerHand1 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Club, CardValue.King), new Card(CardSuit.Diamond, CardValue.Ten), new Card(CardSuit.Club, CardValue.Five), new Card(CardSuit.Heart, CardValue.Four), new Card(CardSuit.Club, CardValue.Three) ); var pokerHand2 = PokerHandTestHelper.CreateHand( new Card(CardSuit.Club, CardValue.King), new Card(CardSuit.Spade, CardValue.Nine), new Card(CardSuit.Club, CardValue.Eight), new Card(CardSuit.Heart, CardValue.Three), new Card(CardSuit.Club, CardValue.Two) ); var result = _comparer.CompareHands(pokerHand1, pokerHand2); Assert.AreEqual(1, result, "Expected Hand1 to beat Hand2"); }
public void Factory_WhenPassed_A_HighTwoPair_Combination_Returns_A_TwoPair() { Assert.IsTrue(SpecifiedPokerHand(PokerHandTestHelper.CreateHighTwoPairs()) is TwoPair); }
public void Factory_WhenPassed_A_LowPair_Combination_Returns_A_Pair() { Assert.IsTrue(SpecifiedPokerHand(PokerHandTestHelper.CreateLowPair()) is Pair); }
public void Factory_WhenPassed_A_HighHighCard_Combination_Returns_A_HighCard() { Assert.IsTrue(SpecifiedPokerHand(PokerHandTestHelper.CreateHighHighCard()) is HighCard); }