/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.mage.test.cards.replacement;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
*
* @author escplan9 (Derek Monturo - dmontur1 at gmail dot com)
*/
public class DiscardEffectsTest extends CardTestPlayerBase {
@Test
public void testOpponentDiscardsLoxodonSmiter() {
addCard(Zone.HAND, playerA, "Thoughtseize"); // {B} target player, discard non-land card, lose two life.
addCard(Zone.BATTLEFIELD, playerA, "Swamp");
// Loxodon Smiter can't be countered.
// If a spell or ability an opponent controls causes you to discard Loxodon Smiter, put it onto the battlefield instead of putting it into your graveyard.
addCard(Zone.HAND, playerB, "Loxodon Smiter");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Thoughtseize");
addTarget(playerA, playerB);
setChoice(playerA, "Loxodon Smiter");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertLife(playerA, 18);
assertGraveyardCount(playerA, "Thoughtseize", 1);
assertGraveyardCount(playerB, "Loxodon Smiter", 0);
assertPermanentCount(playerB, "Loxodon Smiter", 1);
}
@Test
public void testOwnerDiscardsOwnLoxodonSmiter() {
// Loxodon Smiter can't be countered.
// If a spell or ability an opponent controls causes you to discard Loxodon Smiter, put it onto the battlefield instead of putting it into your graveyard.
addCard(Zone.HAND, playerA, "Loxodon Smiter");
addCard(Zone.HAND, playerA, "Sift"); // {3}{U} Sorcery - draw 3 discard 1
addCard(Zone.BATTLEFIELD, playerA, "Island", 4);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sift");
setChoice(playerA, "Loxodon Smiter");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertGraveyardCount(playerA, "Sift", 1);
assertGraveyardCount(playerA, "Loxodon Smiter", 1);
assertPermanentCount(playerA, "Loxodon Smiter", 0);
}
}