public void TestSimpleHandByAlwaysRaiseBots() { var alwaysRaiseBot1 = new AlwaysMinRaiseBot(new PlayerEntity { Id = new Guid() }); var alwaysRaiseBot2 = new AlwaysMinRaiseBot(new PlayerEntity { Id = new Guid() }); var players = new List <Player> { alwaysRaiseBot1, alwaysRaiseBot2 }; var dealer = new DeterministicDealer(); dealer.HoleCardsPlayer1 = new List <Card> { new Card(CardSuit.Diamonds, CardValue.Ten), new Card(CardSuit.Diamonds, CardValue.Nine) }; dealer.HoleCardsPlayer2 = new List <Card> { new Card(CardSuit.Clubs, CardValue.Ace), new Card(CardSuit.Clubs, CardValue.Eight) }; dealer.BoardCards = new List <Card> { new Card(CardSuit.Diamonds, CardValue.Two), new Card(CardSuit.Diamonds, CardValue.Three), new Card(CardSuit.Diamonds, CardValue.Four), new Card(CardSuit.Spades, CardValue.Jack), new Card(CardSuit.Spades, CardValue.Queen) }; var game = new HeadsupGame(players, dealer); var result = game.PlayHand(); //player 1 wins with a flush Assert.IsTrue(result.WinnerId == alwaysRaiseBot1.Id); //pot size should be all ins of both bots Assert.IsTrue(result.PotSize == HeadsupGame.StackSize * 2); }
public void TestSimpleHandByCallingStationBots() { var callingStationBot1 = new CallingStationBot(new PlayerEntity { Id = Guid.NewGuid() }); var callingStationBot2 = new CallingStationBot(new PlayerEntity { Id = Guid.NewGuid() }); var players = new List <Player> { callingStationBot1, callingStationBot2 }; var dealer = new DeterministicDealer(); dealer.HoleCardsPlayer1 = new List <Card> { new Card(CardSuit.Diamonds, CardValue.Ten), new Card(CardSuit.Diamonds, CardValue.Nine) }; dealer.HoleCardsPlayer2 = new List <Card> { new Card(CardSuit.Clubs, CardValue.Ace), new Card(CardSuit.Clubs, CardValue.Eight) }; dealer.BoardCards = new List <Card> { new Card(CardSuit.Diamonds, CardValue.Two), new Card(CardSuit.Diamonds, CardValue.Three), new Card(CardSuit.Diamonds, CardValue.Four), new Card(CardSuit.Spades, CardValue.Jack), new Card(CardSuit.Spades, CardValue.Queen) }; var game = new HeadsupGame(players, dealer); var result = game.PlayHand(); //player 1 wins with a flush Assert.IsTrue(result.WinnerId == callingStationBot1.Id); //small blind calls and both players check until showdown => PotSize must be 2 big blinds Assert.IsTrue(result.PotSize == (HeadsupGame.BigBlindSize * 2)); }