public void Test_TwoPairs_CreateInstance(string strCards, bool isValid) { var cards = Utils.ParseCards(strCards); var twoPairs = TwoPairs.CreateInstance(cards); CreateInstanceHelper(twoPairs, HandRanks.TwoPairs, cards, isValid); }
public void test_scores() { var highCard = new HighCard(); Assert.AreEqual(0, highCard.Score); var onePair = new OnePair(); Assert.AreEqual(1, onePair.Score); var twoPairs = new TwoPairs(); Assert.AreEqual(2, twoPairs.Score); var set = new Set(); Assert.AreEqual(3, set.Score); var straight = new Straight(); Assert.AreEqual(4, straight.Score); var flush = new Flush(); Assert.AreEqual(5, flush.Score); var fullHouse = new FullHouse(); Assert.AreEqual(6, fullHouse.Score); var quads = new Quads(); Assert.AreEqual(7, quads.Score); var straightFlush = new StraightFlush(); Assert.AreEqual(8, straightFlush.Score); var royalFlush = new RoyalFlush(); Assert.AreEqual(9, royalFlush.Score); }
public void HandIsTwoPairs() { //Arrange List <Card> cards = new List <Card>(); cards.Add(new Card(Suits.Hearts, 2)); cards.Add(new Card(Suits.Hearts, "A")); cards.Add(new Card(Suits.Spades, 3)); cards.Add(new Card(Suits.Clubes, 3)); cards.Add(new Card(Suits.Hearts, "K")); cards.Add(new Card(Suits.Dimensions, 2)); cards.Add(new Card(Suits.Hearts, "J")); //Act TwoPairs h = new TwoPairs(); Hand twoPairs = h.IsMatch(cards).Value; //Assert Assert.IsNotNull(twoPairs); Assert.AreEqual(5, twoPairs.CardsInTheHand.Count); Assert.AreEqual <int>(3, twoPairs.CardsInTheHand[0].Value); Assert.AreEqual <int>(2, twoPairs.CardsInTheHand[2].Value); Assert.AreEqual <int>(14, twoPairs.CardsInTheHand[4].Value); Assert.AreEqual(Constancts.HandRanks.TwoPairs, twoPairs.Rank); }
public void TwoPair_Ace_and_Nine_should_be_stronger_than_king_and_queen() { TwoPairs A9 = new TwoPairs(Rank.Ace, Rank.Nine); TwoPairs KQ = new TwoPairs(Rank.King, Rank.Queen); Assert.True(A9.CompareWith(KQ) > 0); }
public void TwoPairsShouldReturnSumOfPairs(List <int> rolledDice, int expectedOutcome) { var twoPairs = new TwoPairs(); var result = twoPairs.CalculateScore(rolledDice); Assert.Equal(expectedOutcome, result); }
public void Test_TwoPairs_ComparableTests(string strInputA, string strInputB, int comp) { var cardsA = Utils.ParseCards(strInputA); var cardsB = Utils.ParseCards(strInputB); var twoPairsOne = TwoPairs.CreateInstance(cardsA); var twoPairsTwo = TwoPairs.CreateInstance(cardsB); ComparableTestsHelper(twoPairsOne, twoPairsTwo, comp); }
public void Test_TwoPairs_EqualityOperators(string strInputA, string strInputB, bool areEqual) { var cardsA = Utils.ParseCards(strInputA); var cardsB = Utils.ParseCards(strInputB); var twoPairOne = TwoPairs.CreateInstance(cardsA); var twoPairTwo = TwoPairs.CreateInstance(cardsB); EqualityOperatorsHelper(twoPairOne, twoPairTwo, areEqual); }
public void HandTwoPairsTestDuplicate() { //Arrange List <Card> cards = new List <Card>(); cards.Add(new Card(Suits.Clubes, "A")); cards.Add(new Card(Suits.Clubes, "A")); //Act TwoPairs hand = new TwoPairs(); //Assert Assert.ThrowsException <InvalidOperationException>(() => hand.IsMatch(cards)); }
public void Test_TwoPairs_EqualityOperators_ForNull() { var cards = Utils.ParseCards("4H 4D 6H 6S 8H"); var twoPairs = TwoPairs.CreateInstance(cards); Assert.False(twoPairs.Equals(null)); Assert.True((TwoPairs)null == (TwoPairs)null); Assert.False((TwoPairs)null == twoPairs); Assert.False(twoPairs == (TwoPairs)null); Assert.False((TwoPairs)null != (TwoPairs)null); Assert.True((TwoPairs)null != twoPairs); Assert.True(twoPairs != (TwoPairs)null); }
public void two_pair_no2() { var set = new TwoPairs(); var cards = new List <Card> { new Card(Suit.Clubs, Rank.Eight), new Card(Suit.Diamonds, Rank.Eight), new Card(Suit.Hearts, Rank.Eight), new Card(Suit.Spades, Rank.Eight) }; set.SetCards(cards); var result = set.IsPresent(); Assert.IsFalse(result); }
override public int Compare(Hand second) { TwoPairs secondHidden = second as TwoPairs; for (int i = 0; i < 3; i++) { if (cardPower[i] > secondHidden.cardPower[i]) { return(1); } else if (cardPower[i] < secondHidden.cardPower[i]) { return(-1); } } return(0); }
public void TwoPairsUnitTests_1() { var twoPairsHands = new Dictionary <long, string>() { //{0x0008004002001000, string.Empty}, // 0000 0000 0000/1000 0000.0000 0/100.0000 0000.00/10 0000.0000 000/1.0000 0000.0000 { 0x0000000002221121, string.Empty } // 0000 0000 0000/0000 0000.0000 0/000.0000 0000.00/10 0010.0010 000/1.0001 0010.0001 }; var pht = new TwoPairs(); foreach (var hand in twoPairsHands) { var ph = new PokerHand(hand.Key); Assert.True(pht.Parse(ph), hand.Value); Assert.Equal(PokerHandAnalyzer.Strength.TwoPairs, ph.Strength); } }
public void HandIsNotTwoPairs() { //Arrange List <Card> cards = new List <Card>(); cards.Add(new Card(Suits.Hearts, 2)); cards.Add(new Card(Suits.Hearts, "A")); cards.Add(new Card(Suits.Spades, 4)); cards.Add(new Card(Suits.Clubes, 3)); cards.Add(new Card(Suits.Hearts, "K")); cards.Add(new Card(Suits.Dimensions, "K")); cards.Add(new Card(Suits.Hearts, "J")); //Act TwoPairs twoPairs = new TwoPairs(); //Assert Assert.IsFalse(twoPairs.IsMatch(cards).HasValue); }
public TwoPairsTests() { _twoPairsCategory = new TwoPairs(); }
private static Hand isFour(List <Card> cards) { int[] combinations = new int[13]; foreach (Card card in cards) { combinations[card.Hierarchy] += 1; } Pair bestPair = null; Pair secondPair = null; Triple bestTriple = null; Four bestFour = null; for (int i = 12; i >= 0; i--) { switch (combinations[i]) { case 2: if (bestPair == null) { bestPair = new Pair(i); } else if (secondPair == null) { secondPair = new Pair(i); } break; case 3: if (bestTriple == null) { bestTriple = new Triple(i); } break; case 4: if (bestFour == null) { bestFour = new Four(i); } break; default: break; } } if (bestFour != null) { int highest = 0; foreach (Card card in cards) { if (card.Hierarchy != bestFour.CardPower && card.Hierarchy > highest) { highest = card.Hierarchy; } } bestFour.LooseCardPower = highest; return(bestFour); } if (bestTriple != null) { if (bestPair != null) { return(new FullHouse(bestTriple, bestPair)); } else { int[] minorCards = new int[2]; int j = 0; for (int i = 12; i >= 0 && j < 2;) { if (combinations[i] > 0 && i != bestTriple.CardPower) { minorCards[j++] = i; combinations[i]--; } else { i--; } } bestTriple.LooseCardsPower = minorCards; return(bestTriple); } } if (secondPair != null) { int highest = 0; foreach (Card card in cards) { if (card.Hierarchy != bestPair.CardPower && card.Hierarchy != secondPair.CardPower && card.Hierarchy > highest) { highest = card.Hierarchy; } } TwoPairs twoPairs = new TwoPairs(bestPair, secondPair); twoPairs.LooseCardPower = highest; return(twoPairs); } if (bestPair != null) { int[] minorCards = new int[3]; int j = 0; for (int i = 12; i >= 0 && j < 3;) { if (combinations[i] > 0 && i != bestPair.CardPower) { minorCards[j++] = i; combinations[i]--; } else { i--; } } bestPair.LooseCardsPower = minorCards; return(bestPair); } One bestCard = new One(); int[] highestCards = new int[5]; for (int i = 0; i < 5; i++) { highestCards[i] = cards[i].Hierarchy; } return(bestCard); }