Пример #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
        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);
        }
Пример #4
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");
        }