public void FourOfAKind()
        {
            PokerHand h = PokerHandClassifier.ClassifyHand(new Card[] {
                new Card(Card.CardKind.Ace, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Ace, Card.CardSuit.Spades),
                new Card(Card.CardKind.Ace, Card.CardSuit.Hearts),
                new Card(Card.CardKind.Ace, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Three, Card.CardSuit.Clubs)
            });

            h.PokerHandType.Should().Be(PokerHand.HandType.FourOfKind);
        }
        public void Straight()
        {
            PokerHand h = PokerHandClassifier.ClassifyHand(new Card[] {
                new Card(Card.CardKind.Nine, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Queen, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Jack, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Eight, Card.CardSuit.Spades),
                new Card(Card.CardKind.Ten, Card.CardSuit.Hearts)
            });

            var type = h.PokerHandType;

            type.Should().Be(PokerHand.HandType.Straight);
        }
        public void Pair()
        {
            PokerHand h = PokerHandClassifier.ClassifyHand(new Card[] {
                new Card(Card.CardKind.Two, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Jack, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Jack, Card.CardSuit.Hearts),
                new Card(Card.CardKind.Nine, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Four, Card.CardSuit.Spades)
            });

            var type = h.PokerHandType;

            type.Should().Be(PokerHand.HandType.Pair);
        }
        public void HighCard()
        {
            PokerHand h = PokerHandClassifier.ClassifyHand(new Card[] {
                new Card(Card.CardKind.Queen, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Jack, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Ten, Card.CardSuit.Hearts),
                new Card(Card.CardKind.Two, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Five, Card.CardSuit.Spades)
            });

            var type = h.PokerHandType;

            type.Should().Be(PokerHand.HandType.HighCard);
        }
        public void Flush()
        {
            PokerHand h = PokerHandClassifier.ClassifyHand(new Card[] {
                new Card(Card.CardKind.Queen, Card.CardSuit.Spades),
                new Card(Card.CardKind.Jack, Card.CardSuit.Spades),
                new Card(Card.CardKind.Ace, Card.CardSuit.Spades),
                new Card(Card.CardKind.Three, Card.CardSuit.Spades),
                new Card(Card.CardKind.Five, Card.CardSuit.Spades)
            });

            var type = h.PokerHandType;

            type.Should().Be(PokerHand.HandType.Flush);
        }
示例#6
0
        public void TwoPair()
        {
            PokerHand h = PokerHandClassifier.ClassifyHand(new List <Card> {
                new Card(Card.CardKind.Queen, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Jack, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Ten, Card.CardSuit.Hearts),
                new Card(Card.CardKind.Queen, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Ten, Card.CardSuit.Spades)
            });

            var type = h.PokerHandType;

            type.Should().Be(PokerHand.HandType.TwoPair);
        }
示例#7
0
        public void FullHouse()
        {
            PokerHand h = PokerHandClassifier.ClassifyHand(new List <Card> {
                new Card(Card.CardKind.Four, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Nine, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Four, Card.CardSuit.Hearts),
                new Card(Card.CardKind.Nine, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Four, Card.CardSuit.Spades)
            });

            var type = h.PokerHandType;

            type.Should().Be(PokerHand.HandType.FullHouse);
        }
示例#8
0
        public void StraightFlush()
        {
            PokerHand h = PokerHandClassifier.ClassifyHand(new List <Card> {
                new Card(Card.CardKind.Nine, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Queen, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Jack, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Eight, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Ten, Card.CardSuit.Diamonds)
            });

            var type = h.PokerHandType;

            type.Should().Be(PokerHand.HandType.StraightFlush);
        }
示例#9
0
        static void Main(string[] args)
        {
            PokerHand h1 = PokerHandClassifier.ClassifyHand(new List <Card> {
                new Card(Card.CardKind.Queen, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Jack, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Ten, Card.CardSuit.Hearts),
                new Card(Card.CardKind.Two, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Five, Card.CardSuit.Spades)
            });

            PokerHand h2 = PokerHandClassifier.ClassifyHand(new List <Card> {
                new Card(Card.CardKind.Queen, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Jack, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Three, Card.CardSuit.Hearts),
                new Card(Card.CardKind.Two, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Five, Card.CardSuit.Spades)
            });

            Console.WriteLine(h1.CompareTo(h2));
        }
        public void CompareHighCard()
        {
            PokerHand h1 = PokerHandClassifier.ClassifyHand(new Card[] {
                new Card(Card.CardKind.Queen, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Jack, Card.CardSuit.Clubs),
                new Card(Card.CardKind.Ten, Card.CardSuit.Hearts),
                new Card(Card.CardKind.Two, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Five, Card.CardSuit.Spades)
            });

            PokerHand h2 = PokerHandClassifier.ClassifyHand(new Card[] {
                new Card(Card.CardKind.Queen, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Jack, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Three, Card.CardSuit.Hearts),
                new Card(Card.CardKind.Two, Card.CardSuit.Diamonds),
                new Card(Card.CardKind.Five, Card.CardSuit.Spades)
            });

            h1.ShouldBeEquivalentTo(h1);
            h1.Should().BeGreaterThan(h2);
            h2.Should().BeLessThan(h1);
        }