mirror of
https://github.com/correl/mage.git
synced 2024-12-25 03:00:15 +00:00
Merge pull request #3403 from drmDev/master
more scarabs tests for #3402
This commit is contained in:
commit
d174b0964d
1 changed files with 140 additions and 11 deletions
|
@ -12,19 +12,19 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||||
*/
|
*/
|
||||||
public class NestOfScarabsTest extends CardTestPlayerBase {
|
public class NestOfScarabsTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Nest of Scarabs 2B
|
||||||
|
Enchantment
|
||||||
|
Whenever you put one or more -1/-1 counters on a creature, create that many 1/1 black Insect creature tokens.
|
||||||
|
*/
|
||||||
|
private final String nestScarabs = "Nest of Scarabs";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reported bug: Nest of Scarabs not triggering off -1/-1 counters placed on creatures.
|
* Reported bug: Nest of Scarabs not triggering off -1/-1 counters placed on creatures.
|
||||||
* NOTE: this test is failing due to bug in code. See issue #3174
|
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void scarabsWithSoulStinger_TwoCountersTwoTokens() {
|
public void scarabs_SoulStinger_TwoCountersTwoTokens() {
|
||||||
|
|
||||||
/*
|
|
||||||
Nest of Scarabs 2B
|
|
||||||
Enchantment
|
|
||||||
Whenever you put one or more -1/-1 counters on a creature, create that many 1/1 black Insect creature tokens.
|
|
||||||
*/
|
|
||||||
String nScarabs = "Nest of Scarabs";
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Soulstinger 3B
|
Soulstinger 3B
|
||||||
|
@ -34,7 +34,7 @@ public class NestOfScarabsTest extends CardTestPlayerBase {
|
||||||
*/
|
*/
|
||||||
String stinger = "Soulstinger";
|
String stinger = "Soulstinger";
|
||||||
|
|
||||||
addCard(Zone.BATTLEFIELD, playerA, nScarabs);
|
addCard(Zone.BATTLEFIELD, playerA, nestScarabs);
|
||||||
addCard(Zone.HAND, playerA, stinger);
|
addCard(Zone.HAND, playerA, stinger);
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 4);
|
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 4);
|
||||||
|
|
||||||
|
@ -44,10 +44,139 @@ public class NestOfScarabsTest extends CardTestPlayerBase {
|
||||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||||
execute();
|
execute();
|
||||||
|
|
||||||
assertPermanentCount(playerA, nScarabs, 1);
|
assertPermanentCount(playerA, nestScarabs, 1);
|
||||||
assertPermanentCount(playerA, stinger, 1);
|
assertPermanentCount(playerA, stinger, 1);
|
||||||
assertCounterCount(playerA, stinger, CounterType.M1M1, 2);
|
assertCounterCount(playerA, stinger, CounterType.M1M1, 2);
|
||||||
assertPowerToughness(playerA, stinger, 2, 3); // 4/5 with two -1/-1 counters
|
assertPowerToughness(playerA, stinger, 2, 3); // 4/5 with two -1/-1 counters
|
||||||
assertPermanentCount(playerA, "Insect", 2); // two counters = two insects
|
assertPermanentCount(playerA, "Insect", 2); // two counters = two insects
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NOTE: test is failing due to bug in code. See issue #3402
|
||||||
|
* Bug from testing:
|
||||||
|
Cast Black Sun's Zenith targetting own creature and 3 of opponent's creatures. Only getting 1 token.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void scarabs_BlackSunsZenithTargettingSelfAndOpponent_4Counters4Tokens() {
|
||||||
|
|
||||||
|
/*
|
||||||
|
Black Sun's Zenith {X}{B}{B}
|
||||||
|
Sorcery
|
||||||
|
Put X -1/-1 counters on each creature. Shuffle Black Sun's Zenith into its owner's library.
|
||||||
|
*/
|
||||||
|
String blackZenith = "Black Sun's Zenith";
|
||||||
|
|
||||||
|
String hillGiant = "Hill Giant"; // {3}{R} 3/3
|
||||||
|
String grizzly = "Grizzly Bears"; // {1}{G} 2/2
|
||||||
|
String memnite = "Memnite"; // {0} 1/1
|
||||||
|
String fugitive = "Fugitive Wizard"; // {U} 1/1
|
||||||
|
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, nestScarabs);
|
||||||
|
addCard(Zone.HAND, playerA, blackZenith);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 3);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, fugitive);
|
||||||
|
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, grizzly);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, memnite);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, hillGiant);
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, blackZenith);
|
||||||
|
setChoice(playerA, "X=1");
|
||||||
|
|
||||||
|
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertPermanentCount(playerA, nestScarabs, 1);
|
||||||
|
assertHandCount(playerA, blackZenith, 0);
|
||||||
|
assertLibraryCount(playerA, blackZenith, 1); // shuffles back into library
|
||||||
|
assertGraveyardCount(playerA, fugitive, 1);
|
||||||
|
assertGraveyardCount(playerB, memnite, 1);
|
||||||
|
assertPermanentCount(playerB, grizzly, 1);
|
||||||
|
assertPermanentCount(playerB, hillGiant, 1);
|
||||||
|
assertCounterCount(playerB, grizzly, CounterType.M1M1, 1);
|
||||||
|
assertCounterCount(playerB, hillGiant, CounterType.M1M1, 1);
|
||||||
|
assertPowerToughness(playerB, grizzly, 1, 1); // 2/2 with -1/-1 counter
|
||||||
|
assertPowerToughness(playerB, hillGiant, 2, 2); // 3/3 with -1/-1 counter
|
||||||
|
assertPermanentCount(playerA, "Insect", 4); // 4 counters = 4 insects
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NOTE: test is failing due to bug in code. See issue #3402
|
||||||
|
* Bug from testing:
|
||||||
|
Cast Black Sun's Zenith targetting own creature and 3 of opponent's creatures. Only getting 1 token.
|
||||||
|
This time with both players having Nest of Scarabs out.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void scarabsForBothPlayers_BlackSunsZenithTargettingSelfAndOpponent_4Counters4Tokens() {
|
||||||
|
|
||||||
|
/*
|
||||||
|
Black Sun's Zenith {X}{B}{B}
|
||||||
|
Sorcery
|
||||||
|
Put X -1/-1 counters on each creature. Shuffle Black Sun's Zenith into its owner's library.
|
||||||
|
*/
|
||||||
|
String blackZenith = "Black Sun's Zenith";
|
||||||
|
|
||||||
|
String hillGiant = "Hill Giant"; // {3}{R} 3/3
|
||||||
|
String grizzly = "Grizzly Bears"; // {1}{G} 2/2
|
||||||
|
String memnite = "Memnite"; // {0} 1/1
|
||||||
|
String fugitive = "Fugitive Wizard"; // {U} 1/1
|
||||||
|
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, nestScarabs);
|
||||||
|
addCard(Zone.HAND, playerA, blackZenith);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 3);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, fugitive);
|
||||||
|
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, nestScarabs);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, grizzly);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, memnite);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, hillGiant);
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, blackZenith);
|
||||||
|
setChoice(playerA, "X=1");
|
||||||
|
|
||||||
|
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertPermanentCount(playerA, nestScarabs, 1);
|
||||||
|
assertPermanentCount(playerB, nestScarabs, 1);
|
||||||
|
assertHandCount(playerA, blackZenith, 0);
|
||||||
|
assertLibraryCount(playerA, blackZenith, 1); // shuffles back into library
|
||||||
|
assertGraveyardCount(playerA, fugitive, 1);
|
||||||
|
assertGraveyardCount(playerB, memnite, 1);
|
||||||
|
assertPermanentCount(playerB, grizzly, 1);
|
||||||
|
assertPermanentCount(playerB, hillGiant, 1);
|
||||||
|
assertCounterCount(playerB, grizzly, CounterType.M1M1, 1);
|
||||||
|
assertCounterCount(playerB, hillGiant, CounterType.M1M1, 1);
|
||||||
|
assertPowerToughness(playerB, grizzly, 1, 1); // 2/2 with -1/-1 counter
|
||||||
|
assertPowerToughness(playerB, hillGiant, 2, 2); // 3/3 with -1/-1 counter
|
||||||
|
assertPermanentCount(playerB, "Insect", 0); // playerB did not place the -1/-1 counters, should not trigger
|
||||||
|
assertPermanentCount(playerA, "Insect", 4); // 4 counters = 4 insects
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NOTE: test is failing due to bug in code. See issue #3402
|
||||||
|
Reported bug: Nest of Scarabs not triggering off infect damage dealt by creatures such as Blight Mamba
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void scarab_infectDamageTriggers() {
|
||||||
|
|
||||||
|
String bMamba = "Blight Mamba"; // {1}{G} 1/1 Creature - Snake, Infect with {1}{G}:Regen
|
||||||
|
String wOmens = "Wall of Omens"; // {1}{W} 0/4 defender ETB: draw a card
|
||||||
|
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, nestScarabs);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, bMamba);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, wOmens);
|
||||||
|
|
||||||
|
attack(3, playerA, bMamba);
|
||||||
|
block(3, playerB, wOmens, bMamba);
|
||||||
|
|
||||||
|
setStopAt(3, PhaseStep.END_COMBAT);
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertLife(playerB, 20);
|
||||||
|
assertCounterCount(playerB, CounterType.POISON, 0);
|
||||||
|
assertPowerToughness(playerB, wOmens, -1, 3); // 0/4 with -1/-1 counter
|
||||||
|
assertCounterCount(playerB, wOmens, CounterType.M1M1, 1);
|
||||||
|
assertPermanentCount(playerA, "Insect", 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue