From 262e00f26a568cbb50506a82e4456bfc24962603 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Wed, 16 Nov 2011 14:01:01 +0400 Subject: [PATCH] Test for Condemn - tests targeting attacking creatures and using LKI. --- Mage.Sets/src/mage/sets/tenth/Condemn.java | 2 + .../cards/targets/attacking/CondemnTest.java | 49 +++++++++++++++++++ .../serverside/base/impl/CardTestAPIImpl.java | 4 ++ 3 files changed, 55 insertions(+) create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/targets/attacking/CondemnTest.java diff --git a/Mage.Sets/src/mage/sets/tenth/Condemn.java b/Mage.Sets/src/mage/sets/tenth/Condemn.java index 3ffcbfccc0d..8ca5e99a78c 100644 --- a/Mage.Sets/src/mage/sets/tenth/Condemn.java +++ b/Mage.Sets/src/mage/sets/tenth/Condemn.java @@ -53,8 +53,10 @@ public class Condemn extends CardImpl { super(ownerId, 13, "Condemn", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{W}"); this.expansionSetCode = "10E"; this.color.setWhite(true); + // Put target attacking creature on the bottom of its owner's library. this.getSpellAbility().addTarget(new TargetAttackingCreature()); this.getSpellAbility().addEffect(new PutOnLibraryTargetEffect(false)); + // Its controller gains life equal to its toughness. this.getSpellAbility().addEffect(new CondemnEffect()); } diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/targets/attacking/CondemnTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/targets/attacking/CondemnTest.java new file mode 100644 index 00000000000..254073bad0c --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/targets/attacking/CondemnTest.java @@ -0,0 +1,49 @@ +package org.mage.test.cards.targets.attacking; + +import junit.framework.Assert; +import mage.Constants; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestBase; + +/** + * @author ayratn + */ +public class CondemnTest extends CardTestBase { + + @Test + public void testIllegalTarget() { + addCard(Constants.Zone.BATTLEFIELD, playerA, "Plains"); + addCard(Constants.Zone.HAND, playerA, "Condemn"); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Sejiri Merfolk"); + + castSpell(playerA, "Condemn"); + // check with illegal target + addFixedTarget(playerA, "Condemn", "Sejiri Merfolk"); + + execute(); + // spell shouldn't work + assertPermanentCount(playerB, "Sejiri Merfolk", 1); + assertLife(playerA, 20); + assertLife(playerB, 20); + } + + @Test + public void testLegalTarget() { + addCard(Constants.Zone.BATTLEFIELD, playerA, "Plains"); + addCard(Constants.Zone.HAND, playerA, "Condemn"); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Sejiri Merfolk"); + + attack(playerB, "Sejiri Merfolk"); + castSpell(playerA, "Condemn"); + addFixedTarget(playerA, "Condemn", "Sejiri Merfolk"); + + setStopOnTurn(3); + execute(); + assertPermanentCount(playerB, "Sejiri Merfolk", 0); + assertLife(playerA, 20); + assertLife(playerB, 21); + // check was put on top + Assert.assertEquals(currentGame.getPlayer(playerB.getId()).getLibrary().size(), 60); + } + +} diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java index d7b6e774072..8713c60744f 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java @@ -373,4 +373,8 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP public void useAbility(Player player, String cardName) { } + + public void attack(Player player, String cardName) { + player.addAction("attack:"+cardName); + } }