示例#1
0
        public void KickerCheck()
        {
            var table = new List <Card>()
            {
                new Card(Rank.Four, Suit.Diamonds),
                new Card(Rank.Six, Suit.Hearts),
                new Card(Rank.Seven, Suit.Diamonds),
                new Card(Rank.Jack, Suit.Diamonds),
                new Card(Rank.Five, Suit.Diamonds),
            };

            var hand1 = new List <Card>()
            {
                new Card(Rank.Seven, Suit.Spades),
                new Card(Rank.Ace, Suit.Hearts),
            };

            var hands = new List <List <Card> >()
            {
                hand1,
                new List <Card>()
                {
                    new Card(Rank.Seven, Suit.Clubs),
                    new Card(Rank.King, Suit.Spades),
                }
            };

            var winner = WinChecker.WinCheck(table, hands);

            Assert.AreEqual(winner.Hands.Count, 1);
            Assert.AreEqual(winner.Hands.Single(), hand1);
        }
示例#2
0
        public void TestRoyalFlush()
        {
            var table = new List <Card>()
            {
                new Card(Rank.Ace, Suit.Diamonds),
                new Card(Rank.King, Suit.Diamonds),
                new Card(Rank.Queen, Suit.Diamonds),
                new Card(Rank.Jack, Suit.Diamonds),
                new Card(Rank.Five, Suit.Diamonds),
            };

            var hands = new List <List <Card> >()
            {
                new List <Card>()
                {
                    new Card(Rank.Four, Suit.Diamonds),
                    new Card(Rank.Ten, Suit.Diamonds),
                }
            };

            var winner = WinChecker.WinCheck(table, hands);

            Assert.AreEqual(WinType.RoyalFlush, winner.WinType);
        }
示例#3
0
        public void TestHighCard1()
        {
            var table = new List <Card>()
            {
                new Card(Rank.Ace, Suit.Diamonds),
                new Card(Rank.Six, Suit.Hearts),
                new Card(Rank.Seven, Suit.Diamonds),
                new Card(Rank.Jack, Suit.Diamonds),
                new Card(Rank.Five, Suit.Diamonds),
            };

            var hands = new List <List <Card> >()
            {
                new List <Card>()
                {
                    new Card(Rank.Three, Suit.Clubs),
                    new Card(Rank.Two, Suit.Spades),
                }
            };

            var winner = WinChecker.WinCheck(table, hands);

            Assert.AreEqual(WinType.HighCard, winner.WinType);
        }
示例#4
0
        public void TestStraight1()
        {
            var table = new List <Card>()
            {
                new Card(Rank.Ace, Suit.Hearts),
                new Card(Rank.Two, Suit.Diamonds),
                new Card(Rank.Queen, Suit.Clubs),
                new Card(Rank.Three, Suit.Hearts),
                new Card(Rank.Five, Suit.Diamonds),
            };

            var hands = new List <List <Card> >()
            {
                new List <Card>()
                {
                    new Card(Rank.Four, Suit.Spades),
                    new Card(Rank.Ten, Suit.Diamonds),
                }
            };

            var winner = WinChecker.WinCheck(table, hands);

            Assert.AreEqual(WinType.Straight, winner.WinType);
        }
示例#5
0
        public void TestFourOfAKind1()
        {
            var table = new List <Card>()
            {
                new Card(Rank.Ace, Suit.Diamonds),
                new Card(Rank.Ace, Suit.Hearts),
                new Card(Rank.Queen, Suit.Diamonds),
                new Card(Rank.Jack, Suit.Diamonds),
                new Card(Rank.Five, Suit.Diamonds),
            };

            var hands = new List <List <Card> >()
            {
                new List <Card>()
                {
                    new Card(Rank.Ace, Suit.Clubs),
                    new Card(Rank.Ace, Suit.Spades),
                }
            };

            var winner = WinChecker.WinCheck(table, hands);

            Assert.AreEqual(WinType.FourOfAKind, winner.WinType);
        }