tests for Blood Moon and Pithing Needle interactions

This commit is contained in:
drmDev 2016-03-02 19:33:51 -05:00
parent ff0dbba539
commit 50e1828d41

View file

@ -159,7 +159,75 @@ public class BloodMoonTest extends CardTestPlayerBase {
assertHandCount(playerA, 1);
// Check that the Steam Vents produces only {R}
Assert.assertTrue("The mana the land can produce should be [{U}] but it's " + playerB.getManaAvailable(currentGame).toString(), playerB.getManaAvailable(currentGame).toString().equals("[{U}]"));
}
/**
* Possible bug reported: Blood Moon effects no longer appearing with Pithing Needle naming Blood Moon.
*
* Testing Blood Moon on battlefield before Pithing Needle naming it.
* Non-basics should still only produce {R}
*/
@Test
public void testBloodMoonBeforePithingNeedle() {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3);
// Blood Moon 2R
// Enchantment
// Nonbasic lands are Mountains
addCard(Zone.BATTLEFIELD, playerA, "Blood Moon", 1);
// Artifact (1)
// As Pithing Needle enters the battlefield, name a card.
// Activated abilities of sources with the chosen name can't be activated unless they're mana abilities.
addCard(Zone.HAND, playerB, "Pithing Needle"); // {1}
addCard(Zone.BATTLEFIELD, playerB, "Ghost Quarter", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Pithing Needle");
setChoice(playerB, "Blood Moon");
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
execute();
assertPermanentCount(playerA, "Blood Moon", 1);
assertPermanentCount(playerB, "Pithing Needle", 1);
assertPermanentCount(playerB, "Ghost Quarter", 1);
Assert.assertTrue("The mana the land can produce should be [{R}] but it's " + playerB.getManaAvailable(currentGame).toString(), playerB.getManaAvailable(currentGame).toString().equals("[{R}]"));
}
/**
* Possible bug reported: Blood Moon effects no longer appearing with Pithing Needle naming Blood Moon.
*
* Testing Pithing Needle on the battlefield naming Blood Moon, then playing Blood Moon after.
* Non-basics should still only produce {R}
*/
@Test
public void testBloodMoonAfterPithingNeedle() {
// Artifact (1)
// As Pithing Needle enters the battlefield, name a card.
// Activated abilities of sources with the chosen name can't be activated unless they're mana abilities.
addCard(Zone.HAND, playerA, "Pithing Needle"); // {1}
addCard(Zone.BATTLEFIELD, playerA, "Ghost Quarter", 1);
// Blood Moon 2R
// Enchantment
// Nonbasic lands are Mountains
addCard(Zone.HAND, playerB, "Blood Moon", 1);
addCard(Zone.BATTLEFIELD, playerB, "Mountain", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Pithing Needle");
setChoice(playerA, "Blood Moon");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Blood Moon");
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
execute();
assertPermanentCount(playerB, "Blood Moon", 1);
assertPermanentCount(playerA, "Pithing Needle", 1);
assertPermanentCount(playerA, "Ghost Quarter", 1);
Assert.assertTrue("The mana the land can produce should be [{R}] but it's " + playerA.getManaAvailable(currentGame).toString(), playerA.getManaAvailable(currentGame).toString().equals("[{R}]"));
}
}