예제 #1
0
    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.
    }