package org.mage.test.cards.single.emn;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
*
* @author Quercitron
*/
public class EmrakulThePromisedEndTest extends CardTestPlayerBase {
// Test that extra turn is added correctly when Emrakul is cast during an opponent's turn.
@Test
public void testExtraTurn_Turn2() {
addCard(Zone.BATTLEFIELD, playerB, "Island", 20);
// Creature cards you own that aren't on the battlefield have flash.
addCard(Zone.HAND, playerB, "Teferi, Mage of Zhalfir");
// When you cast Emrakul, you gain control of target opponent during that player's next turn.
// After that turn, that player takes an extra turn.
addCard(Zone.HAND, playerB, "Emrakul, the Promised End");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Teferi, Mage of Zhalfir");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Emrakul, the Promised End");
setStopAt(2, PhaseStep.POSTCOMBAT_MAIN);
execute();
assertActivePlayer(playerB);
}
@Test
public void testExtraTurn_Turn3() {
addCard(Zone.BATTLEFIELD, playerB, "Island", 20);
addCard(Zone.HAND, playerB, "Teferi, Mage of Zhalfir");
addCard(Zone.HAND, playerB, "Emrakul, the Promised End");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Teferi, Mage of Zhalfir");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Emrakul, the Promised End");
setStopAt(3, PhaseStep.POSTCOMBAT_MAIN);
execute();
assertActivePlayer(playerA);
}
@Test
public void testExtraTurn_Turn4() {
addCard(Zone.BATTLEFIELD, playerB, "Island", 20);
addCard(Zone.HAND, playerB, "Teferi, Mage of Zhalfir");
addCard(Zone.HAND, playerB, "Emrakul, the Promised End");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Teferi, Mage of Zhalfir");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Emrakul, the Promised End");
setStopAt(4, PhaseStep.POSTCOMBAT_MAIN);
execute();
assertActivePlayer(playerA);
}
}