mirror of
https://github.com/correl/mage.git
synced 2024-12-26 11:09:27 +00:00
added tests for mana from copied spells, currently fails for scepter plus drain (related to #8074)
This commit is contained in:
parent
4125d1eb46
commit
0136b986e4
1 changed files with 100 additions and 1 deletions
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package org.mage.test.cards.conditional;
|
package org.mage.test.cards.conditional;
|
||||||
|
|
||||||
import mage.abilities.keyword.FirstStrikeAbility;
|
import mage.abilities.keyword.FirstStrikeAbility;
|
||||||
|
@ -6,6 +5,7 @@ import mage.abilities.keyword.HasteAbility;
|
||||||
import mage.constants.PhaseStep;
|
import mage.constants.PhaseStep;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
|
import org.junit.Ignore;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||||
|
|
||||||
|
@ -172,4 +172,103 @@ public class ManaWasSpentToCastTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
assertPermanentCount(playerA, "Kobolds of Kher Keep", 7);
|
assertPermanentCount(playerA, "Kobolds of Kher Keep", 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRitualManaNormal() {
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 2);
|
||||||
|
addCard(Zone.HAND, playerA, "Pyretic Ritual");
|
||||||
|
addCard(Zone.HAND, playerA, "Gray Ogre");
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pyretic Ritual");
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gray Ogre");
|
||||||
|
|
||||||
|
setStrictChooseMode(true);
|
||||||
|
setStopAt(1, PhaseStep.END_TURN);
|
||||||
|
execute();
|
||||||
|
assertAllCommandsUsed();
|
||||||
|
|
||||||
|
assertGraveyardCount(playerA, "Pyretic Ritual", 1);
|
||||||
|
assertPermanentCount(playerA, "Gray Ogre", 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRitualManaCopied() {
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 6);
|
||||||
|
addCard(Zone.HAND, playerA, "Isochron Scepter");
|
||||||
|
addCard(Zone.HAND, playerA, "Pyretic Ritual");
|
||||||
|
addCard(Zone.HAND, playerA, "Gray Ogre");
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Isochron Scepter");
|
||||||
|
setChoice(playerA, true);
|
||||||
|
setChoice(playerA, "Pyretic Ritual");
|
||||||
|
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||||
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}:");
|
||||||
|
setChoice(playerA, true);
|
||||||
|
setChoice(playerA, true);
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gray Ogre");
|
||||||
|
|
||||||
|
setStrictChooseMode(true);
|
||||||
|
setStopAt(1, PhaseStep.END_TURN);
|
||||||
|
execute();
|
||||||
|
assertAllCommandsUsed();
|
||||||
|
|
||||||
|
assertTapped("Isochron Scepter", true);
|
||||||
|
assertExileCount(playerA, "Pyretic Ritual", 1);
|
||||||
|
assertPermanentCount(playerA, "Gray Ogre", 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testManaDrainNormal() {
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Island", 4);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1);
|
||||||
|
addCard(Zone.HAND, playerA, "Mana Drain");
|
||||||
|
addCard(Zone.HAND, playerA, "Gray Ogre");
|
||||||
|
addCard(Zone.HAND, playerA, "Sliver Construct");
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gray Ogre");
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mana Drain", "Gray Ogre");
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sliver Construct");
|
||||||
|
|
||||||
|
setStrictChooseMode(true);
|
||||||
|
setStopAt(1, PhaseStep.END_TURN);
|
||||||
|
execute();
|
||||||
|
assertAllCommandsUsed();
|
||||||
|
|
||||||
|
assertGraveyardCount(playerA, "Mana Drain", 1);
|
||||||
|
assertGraveyardCount(playerA, "Gray Ogre", 1);
|
||||||
|
assertPermanentCount(playerA, "Sliver Construct", 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Ignore // currently fails
|
||||||
|
@Test
|
||||||
|
public void testManaDrainCopied() {
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 11);
|
||||||
|
addCard(Zone.HAND, playerA, "Isochron Scepter");
|
||||||
|
addCard(Zone.HAND, playerA, "Mana Drain");
|
||||||
|
addCard(Zone.HAND, playerA, "Gray Ogre");
|
||||||
|
addCard(Zone.HAND, playerA, "Sliver Construct");
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Isochron Scepter");
|
||||||
|
setChoice(playerA, true);
|
||||||
|
setChoice(playerA, "Mana Drain");
|
||||||
|
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gray Ogre");
|
||||||
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}, {T}:");
|
||||||
|
setChoice(playerA, true);
|
||||||
|
setChoice(playerA, true);
|
||||||
|
addTarget(playerA, "Gray Ogre");
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sliver Construct");
|
||||||
|
|
||||||
|
setStrictChooseMode(true);
|
||||||
|
setStopAt(1, PhaseStep.END_TURN);
|
||||||
|
execute();
|
||||||
|
assertAllCommandsUsed();
|
||||||
|
|
||||||
|
assertTapped("Isochron Scepter", true);
|
||||||
|
assertExileCount(playerA, "Mana Drain", 1);
|
||||||
|
assertGraveyardCount(playerA, "Gray Ogre", 1);
|
||||||
|
assertPermanentCount(playerA, "Sliver Construct", 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue