mirror of
https://github.com/correl/mage.git
synced 2024-11-15 11:09:30 +00:00
Added some tests.
This commit is contained in:
parent
0b46aec09c
commit
d8df53dde7
3 changed files with 96 additions and 5 deletions
|
@ -73,5 +73,46 @@ public class ReturnToHandTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return from graveyard to hand if you play a swamp
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void VeilbornGhoulTest1() {
|
||||||
|
// Veilborn Ghoul can't block.
|
||||||
|
// Whenever a Swamp enters the battlefield under your control, you may return Veilborn Ghoul from your graveyard to your hand.
|
||||||
|
addCard(Zone.GRAVEYARD, playerA, "Veilborn Ghoul");
|
||||||
|
addCard(Zone.HAND, playerA, "Swamp");
|
||||||
|
|
||||||
|
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Swamp");
|
||||||
|
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||||
|
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertPermanentCount(playerA, "Swamp", 1);
|
||||||
|
assertHandCount(playerA, "Veilborn Ghoul", 1);
|
||||||
|
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Return from graveyard to hand if you play a non swamp land but Urborg, Tomb of Yawgmoth is in play
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void VeilbornGhoulTest2() {
|
||||||
|
// Veilborn Ghoul can't block.
|
||||||
|
// Whenever a Swamp enters the battlefield under your control, you may return Veilborn Ghoul from your graveyard to your hand.
|
||||||
|
addCard(Zone.GRAVEYARD, playerA, "Veilborn Ghoul");
|
||||||
|
addCard(Zone.HAND, playerA, "Flood Plain");
|
||||||
|
|
||||||
|
// Each land is a Swamp in addition to its other land types.
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Urborg, Tomb of Yawgmoth", 1);
|
||||||
|
|
||||||
|
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flood Plain");
|
||||||
|
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||||
|
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertPermanentCount(playerA, "Flood Plain", 1);
|
||||||
|
assertHandCount(playerA, "Veilborn Ghoul", 1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -147,4 +147,57 @@ public class LandfallTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGroundswellWithoutLandfall() {
|
||||||
|
// Target creature gets +2/+2 until end of turn.
|
||||||
|
//Landfall - If you had a land enter the battlefield under your control this turn, that creature gets +4/+4 until end of turn instead.
|
||||||
|
addCard(Zone.HAND, playerB, "Groundswell",1);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, "Forest",1);
|
||||||
|
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion",1);
|
||||||
|
|
||||||
|
attack(2, playerB, "Silvercoat Lion");
|
||||||
|
castSpell(2, PhaseStep.DECLARE_ATTACKERS, playerB, "Groundswell", "Silvercoat Lion");
|
||||||
|
|
||||||
|
|
||||||
|
setStopAt(2, PhaseStep.END_COMBAT);
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertPermanentCount(playerB, "Forest", 1);
|
||||||
|
assertGraveyardCount(playerB, "Groundswell" , 1);
|
||||||
|
|
||||||
|
assertPermanentCount(playerB, "Silvercoat Lion" , 1);
|
||||||
|
assertPowerToughness(playerB, "Silvercoat Lion", 4, 4);
|
||||||
|
|
||||||
|
assertLife(playerA, 16); // 2 + 4
|
||||||
|
assertLife(playerB, 20);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGroundswellWithLandfall() {
|
||||||
|
// Target creature gets +2/+2 until end of turn.
|
||||||
|
//Landfall - If you had a land enter the battlefield under your control this turn, that creature gets +4/+4 until end of turn instead.
|
||||||
|
addCard(Zone.HAND, playerB, "Groundswell",1);
|
||||||
|
addCard(Zone.HAND, playerB, "Forest");
|
||||||
|
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion",1);
|
||||||
|
|
||||||
|
|
||||||
|
playLand(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Forest");
|
||||||
|
attack(2, playerB, "Silvercoat Lion");
|
||||||
|
castSpell(2, PhaseStep.DECLARE_ATTACKERS, playerB, "Groundswell", "Silvercoat Lion");
|
||||||
|
|
||||||
|
|
||||||
|
setStopAt(2, PhaseStep.END_COMBAT);
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertPermanentCount(playerB, "Forest", 1);
|
||||||
|
assertGraveyardCount(playerB, "Groundswell" , 1);
|
||||||
|
|
||||||
|
assertPermanentCount(playerB, "Silvercoat Lion" , 1);
|
||||||
|
assertPowerToughness(playerB, "Silvercoat Lion", 6, 6);
|
||||||
|
|
||||||
|
assertLife(playerA, 14); // 2 + 4
|
||||||
|
assertLife(playerB, 20);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,10 +29,7 @@
|
||||||
package mage.filter.common;
|
package mage.filter.common;
|
||||||
|
|
||||||
import mage.constants.AsThoughEffectType;
|
import mage.constants.AsThoughEffectType;
|
||||||
import mage.filter.predicate.ObjectPlayer;
|
|
||||||
import mage.filter.predicate.ObjectPlayerPredicate;
|
|
||||||
import mage.filter.predicate.Predicate;
|
import mage.filter.predicate.Predicate;
|
||||||
import mage.game.Controllable;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue