public void FiveCardStudScoreTest_ThreeOfAKind() { var hand = new PlayingCardHand(); hand.SetCards(new[] { new PlayingCard(Suit.Clubs, CardValue.Ace), new PlayingCard(Suit.Diamonds, CardValue.Ace), new PlayingCard(Suit.Hearts, CardValue.Ace), new PlayingCard(Suit.Hearts, CardValue.Two), new PlayingCard(Suit.Spades, CardValue.Three) }); var expectedRank = new int[] { (int)CardValue.Ace, (int)CardValue.Ace, (int)CardValue.Ace, (int)CardValue.Three, (int)CardValue.Two, }; var score = new FiveCardStudScore(hand); Assert.AreEqual(HandType.ThreeOfAKind, score.HandType); Assert.IsTrue(expectedRank.SequenceEqual(score.Rank)); }
public void FiveCardStudScoreTest_StraightFlush() { var hand = new PlayingCardHand(); hand.SetCards(new[] { new PlayingCard(Suit.Hearts, CardValue.Ten), new PlayingCard(Suit.Hearts, CardValue.King), new PlayingCard(Suit.Hearts, CardValue.Queen), new PlayingCard(Suit.Hearts, CardValue.Jack), new PlayingCard(Suit.Hearts, CardValue.Ace) }); var expectedRank = new int[] { (int)CardValue.Ace, (int)CardValue.King, (int)CardValue.Queen, (int)CardValue.Jack, (int)CardValue.Ten }; var score = new FiveCardStudScore(hand); Assert.AreEqual(HandType.StraightFlush, score.HandType); Assert.IsTrue(expectedRank.SequenceEqual(score.Rank)); }
public void FiveCardStudScoreTest_InvalidHand() { var invalidCardValues = new CardValue[] { CardValue.AceLow, CardValue.None, CardValue.Joker }; var invalidSuits = new Suit[] { Suit.None, Suit.JokerOne, Suit.JokerTwo }; var hand = new PlayingCardHand(); for (var i = 0; i < invalidCardValues.Length; i++) { try { hand.SetCards(new[] { new PlayingCard(Suit.Hearts, CardValue.Ten), new PlayingCard(Suit.Hearts, CardValue.King), new PlayingCard(Suit.Hearts, CardValue.Queen), new PlayingCard(Suit.Hearts, CardValue.Jack), new PlayingCard(Suit.Hearts, invalidCardValues[i]) }); var score = new FiveCardStudScore(hand); } catch (Exception e) { continue; } Assert.Fail("Expected Exception Not Thrown!"); } for (var i = 0; i < invalidSuits.Length; i++) { try { hand.SetCards(new[] { new PlayingCard(Suit.Hearts, CardValue.Ten), new PlayingCard(Suit.Hearts, CardValue.King), new PlayingCard(Suit.Hearts, CardValue.Queen), new PlayingCard(Suit.Hearts, CardValue.Jack), new PlayingCard(invalidSuits[i], CardValue.Ace) }); var score = new FiveCardStudScore(hand); } catch (Exception e) { continue; } Assert.Fail("Expected Exception Not Thrown!"); } }