public void TestThreeofAKindHand()
        {
            PokerGame pokerGame  = new PokerGame();
            string    playerName = "Test";
            string    playerCard = "2h 6d as 2s 2d";

            pokerGame.AddPlayer(playerName, playerCard);
            pokerGame.StartGame();
            string targetValue = CardHand.ThreeOfAKind.ToString();

            Assert.IsTrue(pokerGame.GetPlayerHand(0).Equals(targetValue));
        }
        public void TestFlushHand()
        {
            PokerGame pokerGame  = new PokerGame();
            string    playerName = "Test";
            string    playerCard = "2h 6h ah 4h 3h";

            pokerGame.AddPlayer(playerName, playerCard);
            pokerGame.StartGame();
            string targetValue = CardHand.Flush.ToString();

            Assert.IsTrue(pokerGame.GetPlayerHand(0).Equals(targetValue));
        }
        public void TestStraightHand()
        {
            PokerGame pokerGame  = new PokerGame();
            string    playerName = "Test";
            string    playerCard = "4h 3d 2s 6s 5h";

            pokerGame.AddPlayer(playerName, playerCard);
            pokerGame.StartGame();
            string targetValue = CardHand.Straight.ToString();

            Assert.IsTrue(pokerGame.GetPlayerHand(0).Equals(targetValue));
        }
        public void TestOnePairHand()
        {
            PokerGame pokerGame  = new PokerGame();
            string    playerName = "Test";
            string    playerCard = "2h 4d as 4s 3h";

            pokerGame.AddPlayer(playerName, playerCard);
            pokerGame.StartGame();
            string targetValue = CardHand.OnePair.ToString();

            Assert.IsTrue(pokerGame.GetPlayerHand(0).Equals(targetValue));
        }
Example #5
0
        static void Main(string[] args)
        {
            CardValidator cardValidator          = new CardValidator();
            PokerGame     pokerGame              = new PokerGame();
            bool          isTerminated           = false;
            int           currentNumberOfPlayers = 0;

            ShowIntroductions();
            while (!isTerminated)
            {
                Console.Write("\nEnter the player name: ");
                string playerName = Console.ReadLine();
                string playerCard = string.Empty;
                DeclarePlayerCard(playerName, ref playerCard);
                while (cardValidator.IsValid(playerCard, out string errorMessage) != true)
                {
                    Console.WriteLine("Error: {0}\n", errorMessage);
                    DeclarePlayerCard(playerName, ref playerCard);
                }
                pokerGame.AddPlayer(playerName, playerCard);
                currentNumberOfPlayers++;
                if (currentNumberOfPlayers > 1)
                {
                    Console.WriteLine("\nPress ANY KEY to add more players or ESC to start\n");
                    if (Console.ReadKey(true).Key == ConsoleKey.Escape)
                    {
                        isTerminated = true;
                    }
                }
            }
            pokerGame.StartGame();
            Console.WriteLine("-------Results-------");
            for (int i = 0; i < pokerGame.NumberOfPlayers; i++)
            {
                Console.WriteLine("{0}: {1} ({2})", pokerGame.GetPlayerName(i),
                                  pokerGame.GetCardCollection(i), pokerGame.GetPlayerHand(i));
            }
            Console.WriteLine("\n-------Winner/s-------");
            for (int i = 0; i < pokerGame.GetWinners().Count; i++)
            {
                Console.WriteLine(pokerGame.GetWinners()[i]);
            }
            Console.WriteLine("\nPress ANY KEY to exit");
            Console.ReadLine();
        }