From 7439134356ba0dbcadf8639bb7cc57b165ef5987 Mon Sep 17 00:00:00 2001 From: drmDev Date: Sun, 24 Jul 2016 11:48:12 -0400 Subject: [PATCH] added tests for discard replacement effects in general --- .../cards/replacement/DiscardEffectsTest.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/replacement/DiscardEffectsTest.java diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/replacement/DiscardEffectsTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/replacement/DiscardEffectsTest.java new file mode 100644 index 00000000000..233bb083c21 --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/replacement/DiscardEffectsTest.java @@ -0,0 +1,58 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.mage.test.cards.replacement; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +/** + * + * @author escplan9 (Derek Monturo - dmontur1 at gmail dot com) + */ +public class DiscardEffectsTest extends CardTestPlayerBase { + + @Test + public void testOpponentDiscardsLoxodonSmiter() { + + addCard(Zone.HAND, playerA, "Thoughtseize"); // {B} target player, discard non-land card, lose two life. + addCard(Zone.BATTLEFIELD, playerA, "Swamp"); + // Loxodon Smiter can't be countered. + // If a spell or ability an opponent controls causes you to discard Loxodon Smiter, put it onto the battlefield instead of putting it into your graveyard. + addCard(Zone.HAND, playerB, "Loxodon Smiter"); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Thoughtseize"); + addTarget(playerA, playerB); + setChoice(playerA, "Loxodon Smiter"); + setStopAt(1, PhaseStep.BEGIN_COMBAT); + execute(); + + assertLife(playerA, 18); + assertGraveyardCount(playerA, "Thoughtseize", 1); + assertGraveyardCount(playerB, "Loxodon Smiter", 0); + assertPermanentCount(playerB, "Loxodon Smiter", 1); + } + + @Test + public void testOwnerDiscardsOwnLoxodonSmiter() { + + // Loxodon Smiter can't be countered. + // If a spell or ability an opponent controls causes you to discard Loxodon Smiter, put it onto the battlefield instead of putting it into your graveyard. + addCard(Zone.HAND, playerA, "Loxodon Smiter"); + addCard(Zone.HAND, playerA, "Sift"); // {3}{U} Sorcery - draw 3 discard 1 + addCard(Zone.BATTLEFIELD, playerA, "Island", 4); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sift"); + setChoice(playerA, "Loxodon Smiter"); + setStopAt(1, PhaseStep.BEGIN_COMBAT); + execute(); + + assertGraveyardCount(playerA, "Sift", 1); + assertGraveyardCount(playerA, "Loxodon Smiter", 1); + assertPermanentCount(playerA, "Loxodon Smiter", 0); + } +}