public void Hand_Flush_Should_Not_Win_FullHouse() { //Arrange //FullHouse var fullHouseCards = new List<Card>(); fullHouseCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 2 }); fullHouseCards.Add(new Card() { Suit = Card.CardSuit.Diamond, Value = 2 }); fullHouseCards.Add(new Card() { Suit = Card.CardSuit.Heart, Value = 2 }); fullHouseCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 3 }); fullHouseCards.Add(new Card() { Suit = Card.CardSuit.Diamond, Value = 3 }); var player1Hand = new Hand(); player1Hand.PlayerId = 1; player1Hand.Cards = fullHouseCards; //Flush var flushCards = new List<Card>(); flushCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 2 }); flushCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 4 }); flushCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 6 }); flushCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 8 }); flushCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 10 }); var player2Hand = new Hand(); player2Hand.PlayerId = 2; player2Hand.Cards = flushCards; var hands = new List<Hand>(); hands.Add(player1Hand); hands.Add(player2Hand); //Act var outcomeMsg = PokerEvaluator.Evaluate(hands); //Assert Assert.AreNotEqual("Player2 wins - Flush", outcomeMsg); }
public void Hand_TwoPairs_Should_Win_Pair() { //Arrange var player1Hand = new Hand(); player1Hand.PlayerId = 1; player1Hand.Cards = GetCardsTwoPairs(); var player2Hand = new Hand(); player2Hand.PlayerId = 2; player2Hand.Cards = GetCardsPair(); var hands = new List<Hand>(); hands.Add(player1Hand); hands.Add(player2Hand); //Act var outcomeMsg = PokerEvaluator.Evaluate(hands); //Assert Assert.AreEqual("Player1 wins - TwoPairs", outcomeMsg); }
public void Hand_ThreeOfAKind_Should_Not_Win_Straight() { //Arrange //Straight var straightCards = new List<Card>(); straightCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 2 }); straightCards.Add(new Card() { Suit = Card.CardSuit.Diamond, Value = 3 }); straightCards.Add(new Card() { Suit = Card.CardSuit.Heart, Value = 4 }); straightCards.Add(new Card() { Suit = Card.CardSuit.Spade, Value = 5 }); straightCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 6 }); var player1Hand = new Hand(); player1Hand.PlayerId = 1; player1Hand.Cards = straightCards; //ThreeOfAKind var threeOfAKindCards = new List<Card>(); threeOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 2 }); threeOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Diamond, Value = 1 }); threeOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Heart, Value = 3 }); threeOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 3 }); threeOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Diamond, Value = 3 }); var player2Hand = new Hand(); player2Hand.PlayerId = 2; player2Hand.Cards = threeOfAKindCards; var hands = new List<Hand>(); hands.Add(player1Hand); hands.Add(player2Hand); //Act var outcomeMsg = PokerEvaluator.Evaluate(hands); //Assert Assert.AreNotEqual("Player2 wins - ThreeOfAKind", outcomeMsg); }
public void Hand_StraightFlush_Should_Win_FourOfAKind() { //Arrange //StraightFlush var straightFlushCards = new List<Card>(); straightFlushCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 2 }); straightFlushCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 3 }); straightFlushCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 4 }); straightFlushCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 5 }); straightFlushCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 6 }); var player1Hand = new Hand(); player1Hand.PlayerId = 1; player1Hand.Cards = straightFlushCards; //FourOfAKind var fourOfAKindCards = new List<Card>(); fourOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 2 }); fourOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Diamond, Value = 6 }); fourOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Heart, Value = 2 }); fourOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Spade, Value = 2 }); fourOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Diamond, Value = 2 }); var player2Hand = new Hand(); player2Hand.PlayerId = 2; player2Hand.Cards = fourOfAKindCards; var hands = new List<Hand>(); hands.Add(player1Hand); hands.Add(player2Hand); //Act var outcomeMsg = PokerEvaluator.Evaluate(hands); //Assert Assert.AreEqual("Player1 wins - StraightFlush", outcomeMsg); }
public void Hand_HighCard_Should_Not_Win_Pair() { //Arrange var player1Hand = new Hand(); player1Hand.PlayerId = 1; player1Hand.Cards = GetCardsPair(); var player2Hand = new Hand(); player2Hand.PlayerId = 2; player2Hand.Cards = GetCardsHighCard(); var hands = new List<Hand>(); hands.Add(player1Hand); hands.Add(player2Hand); //Act var outcomeMsg = PokerEvaluator.Evaluate(hands); //Assert Assert.AreNotEqual("Player2 wins - HighCard", outcomeMsg); }
public void Hand_FullHouse_Should_Win_Not_FourOfAKind() { //Arrange //FourOfAKind var fourOfAKindCards = new List<Card>(); fourOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 2 }); fourOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Diamond, Value = 6 }); fourOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Heart, Value = 2 }); fourOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Spade, Value = 2 }); fourOfAKindCards.Add(new Card() { Suit = Card.CardSuit.Diamond, Value = 2 }); var player1Hand = new Hand(); player1Hand.PlayerId = 1; player1Hand.Cards = fourOfAKindCards; //FullHouse var fullHousecards = new List<Card>(); fullHousecards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 2 }); fullHousecards.Add(new Card() { Suit = Card.CardSuit.Diamond, Value = 2 }); fullHousecards.Add(new Card() { Suit = Card.CardSuit.Heart, Value = 2 }); fullHousecards.Add(new Card() { Suit = Card.CardSuit.Club, Value = 3 }); fullHousecards.Add(new Card() { Suit = Card.CardSuit.Diamond, Value = 3 }); var player2Hand = new Hand(); player2Hand.PlayerId = 2; player2Hand.Cards = fullHousecards; var hands = new List<Hand>(); hands.Add(player1Hand); hands.Add(player2Hand); //Act var outcomeMsg = PokerEvaluator.Evaluate(hands); //Assert Assert.AreNotEqual("Player2 wins - FullHouse", outcomeMsg); }