use of mage.abilities.keyword.VigilanceAbility in project mage by magefree.
the class GainAbilitiesTest method test_AttachmentSingleton.
@Test
public void test_AttachmentSingleton() {
// {2}{W}
// Enchanted creature gets +2/+2.
// Enchanted creature has vigilance as long as you control a black or green permanent.
addCard(Zone.HAND, playerA, "Abzan Runemark@attach", 2);
addCard(Zone.BATTLEFIELD, playerA, "Plains", 6);
//
// 2/2
addCard(Zone.BATTLEFIELD, playerA, "Balduvian Bears@bear", 1);
// attach all
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "@attach.1", "@bear");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "@attach.2", "@bear");
waitStackResolved(1, PhaseStep.PRECOMBAT_MAIN);
checkAbility("after", 1, PhaseStep.PRECOMBAT_MAIN, playerA, "@bear", VigilanceAbility.class, true);
setStrictChooseMode(true);
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertAllCommandsUsed();
Permanent permanent = getPermanent("Balduvian Bears");
Assert.assertEquals("must have only 1 singleton ability instance from two attachments", 1, permanent.getAbilities(currentGame).stream().filter(a -> a instanceof VigilanceAbility).count());
}
use of mage.abilities.keyword.VigilanceAbility in project mage by magefree.
the class CairnWandererTest method TestCairnWandererEffect.
/*
* Testing: As long as a creature card with flying is in a graveyard,
* {this} has flying. The same is true for fear, first strike,
* double strike, deathtouch, haste, landwalk, lifelink, protection,
* reach, trample, shroud, and vigilance.
*/
@Test
public void TestCairnWandererEffect() {
addCard(Zone.BATTLEFIELD, playerA, "Cairn Wanderer");
// Testing FlyingAbility.
addCard(Zone.GRAVEYARD, playerA, "Lantern Kami");
// Testing FearAbility.
addCard(Zone.GRAVEYARD, playerA, "Prickly Boggart");
// Testing FirstStrikeAbility.
addCard(Zone.GRAVEYARD, playerA, "Serra Zealot");
// Testing DoubleStrikeAbility.
addCard(Zone.GRAVEYARD, playerA, "Fencing Ace");
// Testing DeathtouchAbility.
addCard(Zone.GRAVEYARD, playerA, "Typhoid Rats");
// Testing HasteAbility.
addCard(Zone.GRAVEYARD, playerB, "Raging Goblin");
// Testing LandwalkAbility.
addCard(Zone.GRAVEYARD, playerB, "Zodiac Rooster");
// Testing LifelinkAbility.
addCard(Zone.GRAVEYARD, playerB, "Trained Caracal");
// Testing ProtectionAbility.
addCard(Zone.GRAVEYARD, playerB, "Progenitus");
// Testing ReachAbility.
addCard(Zone.GRAVEYARD, playerB, "Tree Monkey");
// Testing TrampleAbility.
addCard(Zone.GRAVEYARD, playerB, "Defiant Elf");
// Testing ShroudAbility.
addCard(Zone.GRAVEYARD, playerB, "Elvish Lookout");
// Testing VigilanceAbility.
addCard(Zone.GRAVEYARD, playerB, "Veteran Cavalier");
execute();
List<Ability> abilities = new ArrayList<>();
abilities.add(FlyingAbility.getInstance());
abilities.add(FearAbility.getInstance());
abilities.add(FirstStrikeAbility.getInstance());
abilities.add(DoubleStrikeAbility.getInstance());
abilities.add(DeathtouchAbility.getInstance());
abilities.add(HasteAbility.getInstance());
abilities.add(LifelinkAbility.getInstance());
abilities.add(ReachAbility.getInstance());
abilities.add(ShroudAbility.getInstance());
abilities.add(TrampleAbility.getInstance());
abilities.add(VigilanceAbility.getInstance());
assertAbilities(playerA, "Cairn Wanderer", abilities);
assertAbility(playerA, "Cairn Wanderer", new PlainswalkAbility(), true);
// Progenitus - protection from everything.
assertAbility(playerA, "Cairn Wanderer", new ProtectionAbility(new FilterCard("everything")), true);
}
Aggregations