public void Test_WinnerIfOnePlayerHasRoyalStraightFlush() { IDealer dealer = new Dealer(); IList<ICharacter> playersOnTable = new List<ICharacter>(); ICharacter firstPlayer = new Bot(new Point(0, 0), 10); IList<ICard> firstPlayerCards = new List<ICard>(); IList<ICard> firstPlayerTableCards = new List<ICard>(); firstPlayerCards.Add(new Card(CardSuit.Spades, CardRank.Ace)); firstPlayerCards.Add(new Card(CardSuit.Spades, CardRank.King)); firstPlayerTableCards.Add(new Card(CardSuit.Spades, CardRank.Queen)); firstPlayerTableCards.Add(new Card(CardSuit.Spades, CardRank.Jack)); firstPlayerTableCards.Add(new Card(CardSuit.Spades, CardRank.Ten)); ICharacter secondPlayer = new Bot(new Point(0, 0), 10); IList<ICard> secondPlayerCards = new List<ICard>(); IList<ICard> secondPlayerTableCards = new List<ICard>(); secondPlayerCards.Add(new Card(CardSuit.Clubs, CardRank.Ace)); secondPlayerCards.Add(new Card(CardSuit.Diamonds, CardRank.Ace)); secondPlayerTableCards.Add(new Card(CardSuit.Hearts, CardRank.Ace)); secondPlayerTableCards.Add(new Card(CardSuit.Spades, CardRank.Ace)); secondPlayerTableCards.Add(new Card(CardSuit.Spades, CardRank.Ten)); ICharacter thirdPlayer = new Bot(new Point(0, 0), 10); IList<ICard> thirdPlayerCards = new List<ICard>(); IList<ICard> thirdPlayerTableCards = new List<ICard>(); thirdPlayerCards.Add(new Card(CardSuit.Clubs, CardRank.King)); thirdPlayerCards.Add(new Card(CardSuit.Diamonds, CardRank.King)); thirdPlayerTableCards.Add(new Card(CardSuit.Hearts, CardRank.King)); thirdPlayerTableCards.Add(new Card(CardSuit.Spades, CardRank.Queen)); thirdPlayerTableCards.Add(new Card(CardSuit.Spades, CardRank.Queen)); ICharacter fourthPlayer = new Bot(new Point(0, 0), 10); IList<ICard> fourthPlayerCards = new List<ICard>(); IList<ICard> fourthPlayerTableCards = new List<ICard>(); fourthPlayerCards.Add(new Card(CardSuit.Clubs, CardRank.King)); fourthPlayerTableCards.Add(new Card(CardSuit.Diamonds, CardRank.King)); fourthPlayerTableCards.Add(new Card(CardSuit.Hearts, CardRank.King)); fourthPlayerTableCards.Add(new Card(CardSuit.Spades, CardRank.Queen)); fourthPlayerTableCards.Add(new Card(CardSuit.Spades, CardRank.Ten)); ICharacter fifthPlayer = new Bot(new Point(0, 0), 10); IList<ICard> fifthPlayerCards = new List<ICard>(); IList<ICard> fifthPlayerTableCards = new List<ICard>(); fifthPlayerCards.Add(new Card(CardSuit.Hearts, CardRank.Six)); fifthPlayerCards.Add(new Card(CardSuit.Hearts, CardRank.Seven)); fifthPlayerTableCards.Add(new Card(CardSuit.Hearts, CardRank.Eight)); fifthPlayerTableCards.Add(new Card(CardSuit.Hearts, CardRank.Nine)); fifthPlayerTableCards.Add(new Card(CardSuit.Hearts, CardRank.Ten)); dealer.SetGameRules(firstPlayerCards, firstPlayerTableCards, firstPlayer); dealer.SetGameRules(secondPlayerCards, secondPlayerTableCards, secondPlayer); dealer.SetGameRules(thirdPlayerCards, thirdPlayerTableCards, thirdPlayer); dealer.SetGameRules(fourthPlayerCards, fourthPlayerTableCards, fourthPlayer); dealer.SetGameRules(fifthPlayerCards, fifthPlayerTableCards, fifthPlayer); playersOnTable.Add(fifthPlayer); playersOnTable.Add(secondPlayer); playersOnTable.Add(thirdPlayer); playersOnTable.Add(fourthPlayer); playersOnTable.Add(fifthPlayer); int pot = 1000; ICharacter winner = playersOnTable[0]; PrivateObject obj = new PrivateObject(typeof(Dealer)); ICharacter result = (Bot)(obj.Invoke("DetermineTheWinner", playersOnTable, pot)); Assert.AreNotEqual(result, winner); }
public void Test_ChooseTheWinnerByTheCardsRank_IfTwoPlayersHaveOnePair_ShoudFail() { PrivateObject obj = new PrivateObject(typeof(Dealer)); IList<ICharacter> gameCharacters = new List<ICharacter>(); int pot = 1000; IList<ICard> firstPlayerCombinationCardsCollection = new List<ICard>(); IList<ICard> firstPlayerKikcersCollection = new List<ICard>(); firstPlayerCombinationCardsCollection.Add(new Card(CardSuit.Clubs, CardRank.Ace)); firstPlayerCombinationCardsCollection.Add(new Card(CardSuit.Diamonds, CardRank.Ace)); firstPlayerKikcersCollection.Add(new Card(CardSuit.Clubs, CardRank.Eight)); firstPlayerKikcersCollection.Add(new Card(CardSuit.Diamonds, CardRank.Five)); firstPlayerKikcersCollection.Add(new Card(CardSuit.Hearts, CardRank.Jack)); IList<ICard> secondPlayerCombinationCardsCollection = new List<ICard>(); IList<ICard> secondPlayerKikcersCollection = new List<ICard>(); secondPlayerCombinationCardsCollection.Add(new Card(CardSuit.Hearts, CardRank.Ace)); secondPlayerCombinationCardsCollection.Add(new Card(CardSuit.Spades, CardRank.Ace)); secondPlayerKikcersCollection.Add(new Card(CardSuit.Clubs, CardRank.Eight)); secondPlayerKikcersCollection.Add(new Card(CardSuit.Diamonds, CardRank.Five)); secondPlayerKikcersCollection.Add(new Card(CardSuit.Hearts, CardRank.Four)); ICharacter firstPlayer = new Bot(firstCardLocation, cardWidth); firstPlayer.CardsCombination = new Combination(1, CombinationType.OnePair, 0, firstPlayerCombinationCardsCollection, firstPlayerKikcersCollection); ICharacter secondPlayer = new Bot(firstCardLocation, cardWidth); secondPlayer.CardsCombination = new Combination(0, CombinationType.OnePair, 0, secondPlayerCombinationCardsCollection, secondPlayerKikcersCollection); gameCharacters.Add(secondPlayer); gameCharacters.Add(firstPlayer); ICharacter winner = gameCharacters[0]; ICharacter result = (Bot)(obj.Invoke("ChooseTheWinnerByTheCardsRank", gameCharacters)); Assert.AreNotEqual(result, winner); }