Exemple #1
0
        private static void Main()
        {
            try
            {
                Console.WriteLine("Press Enter to start the poker game...");
                Console.ReadLine();

                var players = new Dictionary <int, Player>();
                for (int i = 0; i < numberOfPlayers; i++)
                {
                    players.Add(i, new Player()
                    {
                        PlayerName = $"Player {i + 1}"
                    });
                }

                var game = new Game(fileName, players);

                var pokerGameService = new PokerGameService(game);
                pokerGameService.PlayGame();

                Console.WriteLine(pokerGameService.OutputResult());
            }
            catch (Exception ex)
            {
                Console.WriteLine($"{DateTime.UtcNow}: Error in Main: {ex.Message}");
            }
        }
Exemple #2
0
         InlineData("AH AC KS KS 6D JC JS 5S 4D 4D")]    // 2 x Pair, same rank
        public void Player1Wins2Pairs(string hand)
        {
            string[] lines = new string[] { hand };
            Game       = new Game(fileName, Players);
            Game.Lines = lines;

            PokerGameService = new PokerGameService(Game);
            PokerGameService.PlayGame();

            var expected = "Player 1: 1\nPlayer 2: 0\n";
            var result   = PokerGameService.OutputResult();

            Assert.Equal(expected, result);
        }
        public async void CanEvaluateSingleWinner(string joesHand, string jensHand, string bobsHand, string expected)
        {
            // arrange
            var hands = new Dictionary <string, ICardGameHand>();

            new string[] { joesHand, jensHand, bobsHand }.ToList().ForEach(async h =>
            {
                var _ = h.Split(',');
                hands.Add(_[0], await new PokerHandCreator().CreateCardGameHand(_));
            }
                                                                           );

            var cardGameService = new PokerGameService();

            // act
            var winner = await cardGameService.Evaluate(hands);

            // assert
            Assert.Equal(1, winner.Count);
            Assert.Equal(expected, winner[0]);
        }