public static Pokerscore CalculateRiverScore(List <Card> cards) { Pokerscore bestScore = Pokerscore.None; foreach (var combination in PokerEnumerator.GetCombinationsOfNMinusTwo(cards, 5)) { Pokerscore score = PokerLogic.Score(new FiveCardHand(combination)); if (score > bestScore) { bestScore = score; } } return(bestScore); }
public void CombinationTestingThreeFromFive() { int count = 0; List <Card> cards = new List <Card> { new Card(Rank.Ace, Suit.Diamonds), new Card(Rank.Two, Suit.Diamonds), new Card(Rank.Three, Suit.Diamonds), new Card(Rank.Four, Suit.Diamonds), new Card(Rank.Five, Suit.Diamonds) }; foreach (var comb in PokerEnumerator.GetCombinationsOfNMinusTwo(cards, 3)) { count++; Assert.AreEqual(comb.Count(), 3); } Assert.AreEqual(count, 10); }
public void CombinationTestingFiveFromSeven() { int count = 0; List <Card> cards = new List <Card> { new Card(Rank.Ace, Suit.Diamonds), new Card(Rank.Two, Suit.Diamonds), new Card(Rank.Three, Suit.Diamonds), new Card(Rank.Four, Suit.Diamonds), new Card(Rank.Five, Suit.Diamonds), new Card(Rank.Six, Suit.Diamonds), new Card(Rank.Seven, Suit.Diamonds), }; foreach (var comb in PokerEnumerator.GetCombinationsOfNMinusTwo(cards, 5)) { Assert.AreEqual(comb.Count(), 5); count++; } Assert.AreEqual(21, count); }