示例#1
0
        public static void Test_Winners_From_High_Card_Tie()
        {
            Player        player1    = new Player("Ben");
            Player        player2    = new Player("Neb");
            List <Player> players    = new List <Player>();
            string        winningMsg = "Looks like we have a tie that round between:  Ben Neb with a High Card";

            var   cards1 = new List <ICard>();
            var   cards2 = new List <ICard>();
            ICard c;

            // Cards for player 1
            c = new Heart(CardValues.Two);
            cards1.Add(c);
            c = new Club(CardValues.Three);
            cards1.Add(c);
            c = new Club(CardValues.Four);
            cards1.Add(c);
            c = new Club(CardValues.Five);
            cards1.Add(c);
            c = new Club(CardValues.Ace);
            cards1.Add(c);

            // Cards for player 2
            c = new Spade(CardValues.Two);
            cards2.Add(c);
            c = new Diamond(CardValues.Three);
            cards2.Add(c);
            c = new Spade(CardValues.Four);
            cards2.Add(c);
            c = new Spade(CardValues.Five);
            cards2.Add(c);
            c = new Spade(CardValues.Ace);
            cards2.Add(c);

            players.Add(player1);
            players.Add(player2);

            FiveCardPokerGame game = new FiveCardPokerGame(players);

            player1.Hand = cards1;
            player2.Hand = cards2;

            Assert.That(game.GetRoundWinner(), Is.EqualTo(winningMsg));
            Assert.That(game.TiedPlayers.Contains(player1) &&
                        game.TiedPlayers.Contains(player2) &&
                        game.TiedPlayers.Count == 2, Is.True);
        }
示例#2
0
        public static void Test_Winner_From_Pair_With_High_Card()
        {
            Player        player1    = new Player("Ben");
            Player        player2    = new Player("Neb");
            List <Player> players    = new List <Player>();
            string        winningMsg = "Congratulations! The winner this round is: Neb with One Pair and High Card";

            var   cards1 = new List <ICard>();
            var   cards2 = new List <ICard>();
            ICard c;

            // Cards for player 1
            c = new Heart(CardValues.Two);
            cards1.Add(c);
            c = new Club(CardValues.Two);
            cards1.Add(c);
            c = new Club(CardValues.Four);
            cards1.Add(c);
            c = new Club(CardValues.Five);
            cards1.Add(c);
            c = new Club(CardValues.Ace);
            cards1.Add(c);

            // Cards for player 2
            c = new Spade(CardValues.Two);
            cards2.Add(c);
            c = new Diamond(CardValues.Two);
            cards2.Add(c);
            c = new Spade(CardValues.King);
            cards2.Add(c);
            c = new Heart(CardValues.Five);
            cards2.Add(c);
            c = new Heart(CardValues.Ace);
            cards2.Add(c);

            players.Add(player1);
            players.Add(player2);

            FiveCardPokerGame game = new FiveCardPokerGame(players);

            player1.Hand = cards1;
            player2.Hand = cards2;

            Assert.That(game.GetRoundWinner(), Is.EqualTo(winningMsg));
            Assert.That(game.Winner, Is.EqualTo(player2));
        }
示例#3
0
        public static void Test_Multiple_Users_With_One_Winner_Flush_Test()
        {
            Player        player1 = new Player("Ben");
            Player        player2 = new Player("Neb");
            List <Player> players = new List <Player>();

            var   cards1 = new List <ICard>();
            var   cards2 = new List <ICard>();
            ICard c;

            // Cards for player 1
            c = new Club(CardValues.Two);
            cards1.Add(c);
            c = new Club(CardValues.Three);
            cards1.Add(c);
            c = new Club(CardValues.Four);
            cards1.Add(c);
            c = new Club(CardValues.Five);
            cards1.Add(c);
            c = new Club(CardValues.Ace);
            cards1.Add(c);

            // Cards for player 2
            c = new Heart(CardValues.Six);
            cards2.Add(c);
            c = new Heart(CardValues.Three);
            cards2.Add(c);
            c = new Heart(CardValues.Four);
            cards2.Add(c);
            c = new Heart(CardValues.Five);
            cards2.Add(c);
            c = new Heart(CardValues.Ace);
            cards2.Add(c);

            players.Add(player1);
            players.Add(player2);

            FiveCardPokerGame game = new FiveCardPokerGame(players);

            player1.Hand = cards1;
            player2.Hand = cards2;
            game.GetRoundWinner();

            Assert.That(game.Winner, Is.EqualTo(player2));
        }