Пример #1
0
        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));
        }
Пример #2
0
        public void CompareThrowsForNullArguments()
        {
            var dealer = new PokerDealer();

            dealer.GetWinner(null, null);
            Assert.Fail("Shouldn't even reach this line");
        }
Пример #3
0
        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();
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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");
        }
Пример #7
0
 public static void PrintCardsOnTable(this PokerDealer dealer)
 {
     PrintCards(dealer.cardsOnTable);
 }
Пример #8
0
 public void SetUp()
 {
     dealer = new PokerDealer();
 }