public void Calculate_NumCardsTable_Test() { Random randomness_provider = new Random(); List <int> roles_list = new List <int>() { PD_Player_Roles.Operations_Expert, PD_Player_Roles.Researcher, PD_Player_Roles.Medic, PD_Player_Roles.Scientist }; PD_Game game = PD_Game.Create_Game__AvailableRolesList( randomness_provider, 4, 0, roles_list ); PD_AI_PathFinder pathFinder = new PD_AI_PathFinder(); int[,] numCardsTable = PD_AI_CardEvaluation_Utilities.NumCardsTable(game); int numTypes = numCardsTable.Height(); int numPlayers = numCardsTable.Width(); for (int playerIndex = 0; playerIndex < numPlayers; playerIndex++) { for (int type = 0; type < numTypes; type++) { int numCards = numCardsTable[type, playerIndex]; int player = game.players[playerIndex]; List <int> playerCards = game.GQ_CityCardsInPlayerHand(player); List <int> playerCardsOfThisType = playerCards.FindAll( x => game.map.infection_type__per__city[x] == type ); Assert.IsTrue( playerCardsOfThisType.Count == numCards ); } } }