public IEnumerator ActivateCard_CardIsTakenFromPlayerAndActivated() { //Tests if the ActivateCard method correctly activates the card, removes it from the player's ownership and ends the turn. Setup(); yield return(null); game.SetTurnState(Game.TurnState.Move1); //Ensure turnState is Move1. //Give player1 a punishment card. Player player1 = game.currentPlayer; Card testCard = new FreshersFluCard(player1); player1.AddPunishmentCard(testCard); cardDeck.ShowMenu(); //Initialize player1's cardDeck. cardDeck.ActivateCard(cardDeck.GetCardSlots()[0]); //Activate the card Assert.Contains(testCard, cardDeck.GetActiveCards()); //Test that testCard has been added to the active list. Assert.IsFalse(player1.GetPunishmentCards().Contains(testCard)); //Test that the card has been removed from the player's card list Assert.AreEqual(Game.TurnState.EndOfTurn, game.GetTurnState()); //Test that the turn has finished. }