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}"); } }
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]); }