package org.mage.test.rollback;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
*
* @author Quercitron
*/
public class ExtraTurnTest extends CardTestPlayerBase {
// Test that rollback works correctly when extra turn is taken during an opponent turn.
@Test
public void testThatRollbackWorksCorrectlyWithExtraTurn() {
addCard(Zone.BATTLEFIELD, playerA, "Island", 3);
// The next sorcery card you cast this turn can be cast as though it had flash.
addCard(Zone.HAND, playerA, "Quicken");
// Take an extra turn after this one.
addCard(Zone.HAND, playerA, "Time Walk");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerA, "Quicken");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerA, "Time Walk");
rollbackTurns(3, PhaseStep.PRECOMBAT_MAIN, playerA, 0);
setStopAt(4, PhaseStep.PRECOMBAT_MAIN);
execute();
assertActivePlayer(playerA);
}
}