Return some ignored tests after massive texts replacements, added new tests for "any target" spells (see prev commit);

This commit is contained in:
Oleg Agafonov 2018-04-22 17:54:43 +04:00
parent 76b15e86af
commit dc5908e7f1
3 changed files with 91 additions and 12 deletions

View file

@ -35,10 +35,90 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
/**
*
* @author Quercitron
* @author JayDi85
*/
public class BrutalExpulsionTest extends CardTestPlayerBase {
@Test
public void test_useSecondModeOnCreature() {
// Choose one or both
// - Return target spell or creature to its owner's hand.
// - Brutal Expulsion deals 2 damage to target creature or planeswalker. If that permanent would be put into a graveyard this turn, exile it instead.
addCard(Zone.HAND, playerA, "Brutal Expulsion"); // {2}{U}{R}
addCard(Zone.BATTLEFIELD, playerA, "Island", 1);
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3);
addCard(Zone.BATTLEFIELD, playerB, "Augmenting Automaton", 1); // 1 life
addCard(Zone.BATTLEFIELD, playerB, "Balduvian Bears", 1); // 2 life
addCard(Zone.BATTLEFIELD, playerB, "Razorclaw Bear", 1); // 3 life
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Brutal Expulsion", "mode=2Augmenting Automaton");
setModeChoice(playerA, "2");
setModeChoice(playerA, null); // ignore last one mode
//addTarget(playerA, "mode=2Augmenting Automaton"); // doesn't work with mode
setStopAt(1, PhaseStep.END_COMBAT);
execute();
assertHandCount(playerA, 0);
assertPermanentCount(playerA, "Brutal Expulsion", 0);
assertPermanentCount(playerB, "Augmenting Automaton", 0);
assertPermanentCount(playerB, "Balduvian Bears", 1);
assertPermanentCount(playerB, "Razorclaw Bear", 1);
}
@Test
public void test_useSecondModeOnPlaneswalker() {
// Choose one or both
// - Return target spell or creature to its owner's hand.
// - Brutal Expulsion deals 2 damage to target creature or planeswalker. If that permanent would be put into a graveyard this turn, exile it instead.
addCard(Zone.HAND, playerA, "Brutal Expulsion"); // {2}{U}{R}
addCard(Zone.BATTLEFIELD, playerA, "Island", 1);
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3);
addCard(Zone.BATTLEFIELD, playerB, "Augmenting Automaton", 1); // 1 life
addCard(Zone.BATTLEFIELD, playerB, "Balduvian Bears", 1); // 2 life
addCard(Zone.BATTLEFIELD, playerB, "Razorclaw Bear", 1); // 3 life
addCard(Zone.BATTLEFIELD, playerB, "Kiora, the Crashing Wave"); // 2 life
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Brutal Expulsion", "mode=2Kiora, the Crashing Wave");
setModeChoice(playerA, "2");
setModeChoice(playerA, null); // ignore last one mode
setStopAt(1, PhaseStep.END_COMBAT);
execute();
assertHandCount(playerA, 0);
assertPermanentCount(playerA, "Brutal Expulsion", 0);
assertPermanentCount(playerB, "Augmenting Automaton", 1);
assertPermanentCount(playerB, "Balduvian Bears", 1);
assertPermanentCount(playerB, "Razorclaw Bear", 1);
assertPermanentCount(playerB, "Kiora, the Crashing Wave", 0);
}
@Test
public void test_useSpellOnPlaneswalker() {
addCard(Zone.HAND, playerA, "Shock"); // {R}
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1);
addCard(Zone.BATTLEFIELD, playerB, "Augmenting Automaton", 1); // 1 life
addCard(Zone.BATTLEFIELD, playerB, "Balduvian Bears", 1); // 2 life
addCard(Zone.BATTLEFIELD, playerB, "Razorclaw Bear", 1); // 3 life
addCard(Zone.BATTLEFIELD, playerB, "Kiora, the Crashing Wave"); // 2 life
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shock", "Kiora, the Crashing Wave");
setStopAt(1, PhaseStep.END_COMBAT);
execute();
assertHandCount(playerA, 0);
assertPermanentCount(playerA, "Shock", 0);
assertPermanentCount(playerB, "Augmenting Automaton", 1);
assertPermanentCount(playerB, "Balduvian Bears", 1);
assertPermanentCount(playerB, "Razorclaw Bear", 1);
assertPermanentCount(playerB, "Kiora, the Crashing Wave", 0);
}
/**
* Brutal Expulsion targeting Gideon, Ally of Zendikar. Gideon has 3
* loyalty. Brutal Expulsion resolves, leaves 1 loyalty. I attack Gideon for
@ -46,33 +126,32 @@ public class BrutalExpulsionTest extends CardTestPlayerBase {
* Expulsion sends Gideon to exile. However, in game Gideon went to
* graveyard.
*/
@Ignore
@Test
public void testPlaneswalkerExile() {
// Choose one or both
// - Return target spell or creature to its owner's hand.
// - Brutal Expulsion deals 2 damage to target creature or planeswalker. If that permanent would be put into a graveyard this turn, exile it instead.
addCard(Zone.HAND, playerA, "Brutal Expulsion"); // {2}{U}{R}
addCard(Zone.BATTLEFIELD, playerA, "Island", 1);
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3);
// Shock deals 2 damage to any target.
addCard(Zone.HAND, playerA, "Shock"); // {R}
addCard(Zone.BATTLEFIELD, playerA, "Island", 1);
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 4);
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1);
// Planeswalker with 4 loyalty.
addCard(Zone.BATTLEFIELD, playerB, "Gideon, Ally of Zendikar");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Brutal Expulsion");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Brutal Expulsion", "mode=2Gideon, Ally of Zendikar");
setModeChoice(playerA, "2");
setModeChoice(playerA, null);
addTarget(playerA, "Gideon, Ally of Zendikar");
castSpell(1, PhaseStep.BEGIN_COMBAT, playerA, "Shock", "Gideon, Ally of Zendikar");
setModeChoice(playerA, null); // ignore last one mode
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shock", "Gideon, Ally of Zendikar");
setStopAt(1, PhaseStep.END_COMBAT);
execute();
assertHandCount(playerA, 0);
assertPermanentCount(playerA, "Shock", 0);
assertPermanentCount(playerB, "Gideon, Ally of Zendikar", 0);
assertGraveyardCount(playerB, "Gideon, Ally of Zendikar", 0);
assertExileCount("Gideon, Ally of Zendikar", 1);
}

View file

@ -1248,6 +1248,7 @@ public abstract class CardTestPlayerAPIImpl extends MageTestPlayerBase implement
* are copies. For modal spells use a prefix with the mode number:
* mode=1Lightning Bolt^mode=2Silvercoat Lion
*/
// TODO: mode options doesn't work here (see BrutalExpulsionTest)
public void addTarget(TestPlayer player, String target) {
player.addTarget(target);
}