[VIS] Implement Matopi Golem (#11323)

fix Skeleton Scavengers & Soldevi Sentry, and refactor a common effect for all 3.
This commit is contained in:
Susucre 2023-10-21 15:28:03 +02:00 committed by GitHub
parent a37fc0589a
commit 5b58ff242b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 200 additions and 78 deletions

View file

@ -0,0 +1,40 @@
package org.mage.test.cards.single.all;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
* @author Susucr
*/
public class SoldeviSentryTest extends CardTestPlayerBase {
/**
* {@link mage.cards.s.SoldeviSentry} <br>
* Soldevi Sentry {1} <br>
* Artifact Creature Soldier <br>
* {1}: Choose target opponent. Regenerate Soldevi Sentry. When it regenerates this way, that player may draw a card. <br>
* 1/1
*/
private static final String sentry = "Soldevi Sentry";
@Test
public void test_ReflexiveOnRegenerate() {
setStrictChooseMode(true);
addCard(Zone.BATTLEFIELD, playerA, sentry);
addCard(Zone.HAND, playerA, "Doom Blade");
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 3);
activateAbility(1, PhaseStep.UPKEEP, playerA, "{1}: Choose", playerB);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Doom Blade", sentry);
setChoice(playerB, true); // yes to drawing a card in the reflexive trigger
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertPermanentCount(playerA, sentry, 1);
assertTapped(sentry, true);
assertHandCount(playerB, 1);
}
}

View file

@ -0,0 +1,39 @@
package org.mage.test.cards.single.vis;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
* @author Susucr
*/
public class MatopiGolemTest extends CardTestPlayerBase {
/**
* {@link mage.cards.m.MatopiGolem} <br>
* Matopi Golem {5} <br>
* Artifact Creature Golem <br>
* {1}: Regenerate Matopi Golem. When it regenerates this way, put a -1/-1 counter on it. <br>
* 3/3
*/
private static final String golem = "Matopi Golem";
@Test
public void test_ReflexiveOnRegenerate() {
setStrictChooseMode(true);
addCard(Zone.BATTLEFIELD, playerA, golem);
addCard(Zone.HAND, playerA, "Doom Blade");
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 3);
activateAbility(1, PhaseStep.UPKEEP, playerA, "{1}: Regenerate");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Doom Blade", golem);
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertPermanentCount(playerA, golem, 1);
assertTapped(golem, true);
assertPowerToughness(playerA, golem, 3 - 1, 3 - 1);
}
}