public void CompareHandCallsDiscriminatorFactory() { var firstHand = new List <Card> { new Card(Suit.Clubs, 2), new Card(Suit.Diamonds, 3), new Card(Suit.Clubs, 2), new Card(Suit.Hearts, 11), new Card(Suit.Spades, 12) }; var secondHand = new List <Card> { new Card(Suit.Clubs, 2), new Card(Suit.Diamonds, 3), new Card(Suit.Clubs, 2), new Card(Suit.Hearts, 11), new Card(Suit.Spades, 12) }; var discriminatorFactoryMock = new Mock <IDiscriminatorFactory>(); var discriminatorStub = new Mock <IDiscriminator>(); discriminatorFactoryMock.Setup(df => df.CreateDiscriminator(It.IsAny <HandType>())). Returns(discriminatorStub.Object); var dealer = new PokerDealer(discriminatorFactoryMock.Object); dealer.GetWinner(firstHand, secondHand); discriminatorFactoryMock.Verify(df => df.CreateDiscriminator(HandType.OnePair)); }
public void CompareThrowsForNullArguments() { var dealer = new PokerDealer(); dealer.GetWinner(null, null); Assert.Fail("Shouldn't even reach this line"); }
static void Main(string[] args) { Pack pack = new Pack(); Player p1 = new Player("Natan", 100); PokerDealer dealer = new PokerDealer(pack, new List <Player>() { p1 }); dealer.DealCardsToAllPlayers(2); dealer.PrintAllPlayersCards(); Console.WriteLine(); Console.WriteLine("Flop:"); dealer.DealFlop(); dealer.PrintCardsOnTable(); Console.WriteLine(); Dictionary <Hand, double> chances = CalcChance.Calc(p1.cards, dealer.cardsOnTable); PrintChances(chances); Console.WriteLine(); Console.ReadKey(); Console.WriteLine("Turn:"); dealer.DealTurn(); dealer.PrintCardsOnTable(); Console.WriteLine(); chances = CalcChance.Calc(p1.cards, dealer.cardsOnTable); PrintChances(chances); Console.WriteLine(); Console.ReadKey(); Console.WriteLine("River:"); dealer.DealRiver(); dealer.PrintCardsOnTable(); Console.WriteLine(); PrintHand(p1.cards, dealer.cardsOnTable); Console.ReadKey(); }
public void HandsWithSameCardValuesAreEqual() { var firstHand = new List <Card> { new Card(Suit.Clubs, 2), new Card(Suit.Diamonds, 3), new Card(Suit.Clubs, 2), new Card(Suit.Hearts, 11), new Card(Suit.Spades, 12) }; var secondHand = new List <Card> { new Card(Suit.Clubs, 2), new Card(Suit.Diamonds, 3), new Card(Suit.Clubs, 2), new Card(Suit.Hearts, 11), new Card(Suit.Spades, 12) }; var dealer = new PokerDealer(); var value = dealer.GetWinner(firstHand, secondHand); Assert.AreEqual(0, value); }
public void CompareHandWithHigherHandTypeWins() { var threeOfAKindHand = new List <Card> { new Card(Suit.Clubs, 1), new Card(Suit.Diamonds, 1), new Card(Suit.Clubs, 1), new Card(Suit.Hearts, 2), new Card(Suit.Spades, 12) }; var onePairHand = new List <Card> { new Card(Suit.Clubs, 2), new Card(Suit.Clubs, 2), new Card(Suit.Diamonds, 3), new Card(Suit.Hearts, 11), new Card(Suit.Spades, 12) }; var value = new PokerDealer().GetWinner(threeOfAKindHand, onePairHand); Assert.AreEqual(Winner.First, value); }
public void CompareValidatesNumberOfCards() { var list1 = new List <Card> { new Card(Suit.Clubs, 2), new Card(Suit.Diamonds, 3), new Card(Suit.Clubs, 2), new Card(Suit.Hearts, 11), new Card(Suit.Spades, 12), }; var list2 = new List <Card> { new Card(Suit.Spades, 14), new Card(Suit.Diamonds, 10), new Card(Suit.Clubs, 12), new Card(Suit.Hearts, 5), }; var dealer = new PokerDealer(); dealer.GetWinner(list1, list2); Assert.Fail("Shouldn't even reach this line"); }
public static void PrintCardsOnTable(this PokerDealer dealer) { PrintCards(dealer.cardsOnTable); }
public void SetUp() { dealer = new PokerDealer(); }