public void Compare_WithThreeOfAKind_Success() { // arrange var winningPair = new FiveCardPokerHand(new List <Card> { new Card(Rank.Ace, Suit.Spades), new Card(Rank.Ace, Suit.Diamonds), new Card(Rank.Ace, Suit.Hearts), new Card(Rank.Eight, Suit.Hearts), new Card(Rank.Three, Suit.Clubs) }); var losingPair = new FiveCardPokerHand(new List <Card> { new Card(Rank.Eight, Suit.Spades), new Card(Rank.Eight, Suit.Diamonds), new Card(Rank.Eight, Suit.Hearts), new Card(Rank.Ace, Suit.Hearts), new Card(Rank.Three, Suit.Clubs) }); var winningKicker = new FiveCardPokerHand(new List <Card> { new Card(Rank.Ace, Suit.Spades), new Card(Rank.Ace, Suit.Diamonds), new Card(Rank.Ace, Suit.Hearts), new Card(Rank.Eight, Suit.Hearts), new Card(Rank.Four, Suit.Clubs) }); var losingKicker = new FiveCardPokerHand(new List <Card> { new Card(Rank.Ace, Suit.Spades), new Card(Rank.Ace, Suit.Diamonds), new Card(Rank.Ace, Suit.Hearts), new Card(Rank.Eight, Suit.Hearts), new Card(Rank.Three, Suit.Clubs) }); var testData = HandCompareTestData.GetTestData(winningPair, losingPair) .Concat(HandCompareTestData.GetTestData(winningKicker, losingKicker)); // act & assert foreach (var test in testData) { Assert.AreEqual(test.ExpectedResult, _comparer.Compare(test.First, test.Second)); } }
public void Compare_WithStraights_Success() { // arrange var winningHand = new FiveCardPokerHand(new List <Card> { new Card(Rank.Nine, Suit.Spades), new Card(Rank.Eight, Suit.Hearts), new Card(Rank.Seven, Suit.Diamonds), new Card(Rank.Six, Suit.Clubs), new Card(Rank.Five, Suit.Spades) }); var losingHand = new FiveCardPokerHand(new List <Card> { new Card(Rank.Seven, Suit.Diamonds), new Card(Rank.Six, Suit.Clubs), new Card(Rank.Five, Suit.Spades), new Card(Rank.Four, Suit.Spades), new Card(Rank.Three, Suit.Spades), }); var testData = HandCompareTestData.GetTestData(winningHand, losingHand); // act & assert AssertTestData(testData); }
public void Compare_WithFlushes_Success() { // arrange var winningHand = new FiveCardPokerHand(new List <Card> { new Card(Rank.Two, Suit.Clubs), new Card(Rank.Six, Suit.Clubs), new Card(Rank.Seven, Suit.Clubs), new Card(Rank.Jack, Suit.Clubs), new Card(Rank.King, Suit.Clubs) }); var losingHand = new FiveCardPokerHand(new List <Card> { new Card(Rank.Two, Suit.Clubs), new Card(Rank.Six, Suit.Clubs), new Card(Rank.Seven, Suit.Clubs), new Card(Rank.Jack, Suit.Clubs), new Card(Rank.Four, Suit.Clubs) }); var testData = HandCompareTestData.GetTestData(winningHand, losingHand); // act & assert AssertTestData(testData); }
public TestData(FiveCardPokerHand hand, HandRank expectedResult) { Hand = hand; ExpectedResult = expectedResult; }
public PairedTestData(FiveCardPokerHand hand, int expectedResult) { Hand = hand; ExpectedResult = expectedResult; }