diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/TamiyoTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/TamiyoTest.java index bc7b568932..bdd3081f89 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/TamiyoTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/TamiyoTest.java @@ -156,4 +156,49 @@ public class TamiyoTest extends CardTestPlayerBase { assertLife(playerB, 18); assertHandCount(playerA, 2); // Sylvan Advocate dealt combat damage twice } + + /* + * Reported bug: Tamiyo's +1 ability remains on the creature for the entirety of the game. + */ + @Test + public void testFieldResearcherFirstEffectOnlyPersistsUntilYourNextTurn() { + + /* + // Tamiyo, Field Researcher {1}{G}{W}{U} - 4 loyalty + +1: Choose up to two target creatures. Until your next turn, whenever either of those creatures deals combat damage, you draw a card. + −2: Tap up to two target nonland permanents. They don't untap during their controller's next untap step. + −7: Draw three cards. You get an emblem with "You may cast nonland cards from your hand without paying their mana costs." + */ + addCard(Zone.HAND, playerA, "Tamiyo, Field Researcher", 1); + addCard(Zone.BATTLEFIELD, playerA, "Forest", 1); + addCard(Zone.BATTLEFIELD, playerA, "Plains", 1); + addCard(Zone.BATTLEFIELD, playerA, "Island", 2); + addCard(Zone.BATTLEFIELD, playerA, "Sylvan Advocate", 1); // 2/3 + + addCard(Zone.HAND, playerB, "Hero's Downfall", 1); + addCard(Zone.BATTLEFIELD, playerB, "Memnite", 1); + addCard(Zone.BATTLEFIELD, playerB, "Swamp", 3); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Tamiyo, Field Researcher"); + activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "+1: Choose up to two"); + addTarget(playerA, "Sylvan Advocate"); + + attack(1, playerA, "Sylvan Advocate"); + + attack(2, playerB, "Memnite"); + block(2, playerA, "Sylvan Advocate", "Memnite"); + + castSpell(3, PhaseStep.UPKEEP, playerB, "Hero's Downfall"); + addTarget(playerB, "Tamiyo, Field Researcher"); + + attack(3, playerA, "Sylvan Advocate"); // should not get extra card + + setStopAt(3, PhaseStep.END_COMBAT); + execute(); + + assertGraveyardCount(playerA, "Tamiyo, Field Researcher", 1); + assertGraveyardCount(playerB, "Hero's Downfall", 1); + assertLife(playerB, 16); + assertHandCount(playerA, 3); // 2 cards drawn from Advocate + 1 card during T3 draw step. + } }