diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/requirement/BlockRequirementTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/requirement/BlockRequirementTest.java index f3f8d72281b..a760f4928c2 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/requirement/BlockRequirementTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/requirement/BlockRequirementTest.java @@ -29,6 +29,8 @@ package org.mage.test.cards.requirement; import mage.constants.PhaseStep; import mage.constants.Zone; +import mage.game.permanent.Permanent; +import org.junit.Assert; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; @@ -66,7 +68,7 @@ public class BlockRequirementTest extends CardTestPlayerBase { castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Oppressive Rays", "Silvercoat Lion"); - // Silvercoat Lion has not to block because it has to pay {3} to block + // Silvercoat Lion cannot block because it has to pay {3} to block attack(2, playerB, "Prized Unicorn"); setStopAt(2, PhaseStep.POSTCOMBAT_MAIN); @@ -247,4 +249,39 @@ public class BlockRequirementTest extends CardTestPlayerBase { assertGraveyardCount(playerB, "Dimensional Infiltrator", 1); assertGraveyardCount(playerB, "Llanowar Elves", 1); } + + /* + Reported bug: Nacatl War-pride unable to be blocked ? + */ + @Test + public void testNacatlWarPrideBlockOneCreature() { + /* + Nacatl War-Pride {3}{G}{G}{G} + Creature - Cat Warrior 3/3 + Nacatl War-Pride must be blocked by exactly one creature if able. + Whenever Nacatl War-Pride attacks, create X tokens that are copies of Nacatl War-Pride and that are tapped and attacking, + where X is the number of creatures defending player controls. Exile the tokens at the beginning of the next end step. + */ + addCard(Zone.BATTLEFIELD, playerA, "Nacatl War-Pride"); + + /* + Primeval Titan {4}{G}{G} + Creature - Giant 6/6 + Trample. Whenever Primeval Titan enters the battlefield or attacks, you may search your library for up to two land cards, + put them onto the battlefield tapped, then shuffle your library. + */ + addCard(Zone.BATTLEFIELD, playerB, "Primeval Titan"); + + attack(1, playerA, "Nacatl War-Pride"); + block(1, playerB, "Primeval Titan", "Nacatl War-Pride"); + + setStopAt(1, PhaseStep.END_COMBAT); + execute(); + + assertLife(playerB, 17); // one 3/3 tokens attacking got through still + assertGraveyardCount(playerA, "Nacatl War-Pride", 1); + + Permanent primetime = getPermanent("Primeval Titan", playerB); + Assert.assertEquals("Damage to Primeval should be 3 not 0", 3, primetime.getDamage()); + } }