public void PlayTrumpOrderTest() { var players = PlayersSetup.BuildFourAIPlayers(); var fourthPlayer = players[3]; var cardsHeldByPlayer = new Dictionary <IPlayer, List <Card> >(); var cardsPlayedByPlayer = new Dictionary <IPlayer, List <Card> >(); var heart = SuitHelper.GetSuit(CardSuit.Heart); cardsHeldByPlayer[players[0]] = new List <Card> { new Card(RankHelper.GetRank("7"), heart) }; cardsHeldByPlayer[players[1]] = new List <Card> { new Card(RankHelper.GetRank("A"), heart) }; cardsHeldByPlayer[players[2]] = new List <Card> { new Card(RankHelper.GetRank("8"), heart) }; cardsHeldByPlayer[players[3]] = new List <Card> { new Card(RankHelper.GetRank("9"), heart) }; var trick = new Trick(players, heart); trick.Play(cardsHeldByPlayer, cardsPlayedByPlayer); var winner = trick.GetTaker(); Assert.AreEqual(fourthPlayer, winner); }
public void OrderPlayersTest() { var players = PlayersSetup.BuildFourAIPlayers(); var first = players[0]; var second = players[1]; var third = players[2]; var fourth = players[3]; var afterFirst = RoundHelper.OrderPlayersForNewTrick(players, first); var newOrder = string.Join("|", afterFirst.Select(t => t.PlayerNumber)); Assert.AreEqual("0|1|2|3", newOrder); var afterSecond = RoundHelper.OrderPlayersForNewTrick(players, second); newOrder = string.Join("|", afterSecond.Select(t => t.PlayerNumber)); Assert.AreEqual("1|2|3|0", newOrder); var afterThird = RoundHelper.OrderPlayersForNewTrick(players, third); newOrder = string.Join("|", afterThird.Select(t => t.PlayerNumber)); Assert.AreEqual("2|3|0|1", newOrder); var afterFourth = RoundHelper.OrderPlayersForNewTrick(players, fourth); newOrder = string.Join("|", afterFourth.Select(t => t.PlayerNumber)); Assert.AreEqual("3|0|1|2", newOrder); }
public void PlayMultipleColors() { var players = PlayersSetup.BuildFourAIPlayers(); var firstPlayer = players[0]; var cardsHeldByPlayer = new Dictionary <IPlayer, List <Card> >(); var cardsPlayedByPlayer = new Dictionary <IPlayer, List <Card> >(); var heart = SuitHelper.GetSuit(CardSuit.Heart); var spade = SuitHelper.GetSuit(CardSuit.Spade); var club = SuitHelper.GetSuit(CardSuit.Club); cardsHeldByPlayer[players[0]] = new List <Card> { new Card(RankHelper.GetRank("7"), heart) }; cardsHeldByPlayer[players[1]] = new List <Card> { new Card(RankHelper.GetRank("A"), club) }; cardsHeldByPlayer[players[2]] = new List <Card> { new Card(RankHelper.GetRank("8"), club) }; cardsHeldByPlayer[players[3]] = new List <Card> { new Card(RankHelper.GetRank("9"), club) }; var trick = new Trick(players, spade); trick.Play(cardsHeldByPlayer, cardsPlayedByPlayer); var winner = trick.GetTaker(); Assert.AreEqual(firstPlayer, winner); }
private Game InitGame() { var game = new Game(); var players = PlayersSetup.BuildFourAIPlayers(); foreach (var player in players) { game.AddPlayer(player); } return(game); }
public void DealRandomTest() { var players = PlayersSetup.BuildFourAIPlayers(); var round = new Round(players, 1); round.ShuffleAndDeal(); foreach (var player in players) { var playerCards = round.GetPlayerCards(player); Assert.AreEqual(8, playerCards.Count); } }
public void RoundPlayTest() { var players = PlayersSetup.BuildFourAIPlayers(); var round = new Round(players, 1); round.ShuffleAndDeal(); round.Play(); foreach (var player in players) { var playerCards = round.GetPlayerCards(player); Assert.AreEqual(0, playerCards.Count); } round.CountPlayersPoints(); var firstTeamPoints = round.GetFirstTeamPoints(); var secondTeamPoints = round.GetSecondTeamPoints(); Assert.AreEqual(162, firstTeamPoints + secondTeamPoints); }
public void PlayWithRankTest() { var players = PlayersSetup.BuildFourAIPlayers(); var secondPlayer = players[1]; var cardsHeldByPlayer = new Dictionary <IPlayer, List <Card> >(); var cardsPlayedByPlayer = new Dictionary <IPlayer, List <Card> >(); var heart = SuitHelper.GetSuit(CardSuit.Heart); var spade = SuitHelper.GetSuit(CardSuit.Spade); cardsHeldByPlayer[players[0]] = new List <Card> { new Card(RankHelper.GetRank("7"), heart) }; cardsHeldByPlayer[players[1]] = new List <Card> { new Card(RankHelper.GetRank("A"), heart) }; cardsHeldByPlayer[players[2]] = new List <Card> { new Card(RankHelper.GetRank("8"), heart) }; cardsHeldByPlayer[players[3]] = new List <Card> { new Card(RankHelper.GetRank("9"), heart) }; var trick = new Trick(players, spade); trick.Play(cardsHeldByPlayer, cardsPlayedByPlayer); var winner = trick.GetTaker(); Assert.AreEqual(secondPlayer, winner); var playedCards = trick.GetPlayedCards(); Assert.IsNotNull(playedCards); Assert.AreEqual(4, playedCards.Count); }