From 243ad8cdddcac9f30c340c6db76d4f6ad76a3a9a Mon Sep 17 00:00:00 2001 From: Oleg Agafonov <jaydi85@gmail.com> Date: Thu, 22 Nov 2018 06:21:35 +0400 Subject: [PATCH] Tests: added support of zero targets in TestPlayer (empty string in addTarget); Tests: fixed CopySpellTest; --- .../java/org/mage/test/cards/copy/CopySpellTest.java | 10 ++++++++-- .../src/test/java/org/mage/test/player/TestPlayer.java | 7 +++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/copy/CopySpellTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/copy/CopySpellTest.java index 2ec1c261ed..fb3892ecbb 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/copy/CopySpellTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/copy/CopySpellTest.java @@ -24,9 +24,15 @@ public class CopySpellTest extends CardTestPlayerBase { addCard(Zone.BATTLEFIELD, playerB, "Pillarfield Ox", 1); addCard(Zone.BATTLEFIELD, playerB, "Island", 1); + // start chain from A - return pillar to hand castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chain of Vapor", "Pillarfield Ox"); - setChoice(playerB, "Yes"); - addTarget(playerB, "Silvercoat Lion"); + //setChoice(playerB, "Yes"); // want to sacrifice + addTarget(playerB, "Island"); // select a land to sacrifice + setChoice(playerB, "Yes"); // want to copy spell + setChoice(playerB, "Yes"); // want to change target + addTarget(playerB, "Silvercoat Lion"); // new target after copy + // stop the chain on 0 land + addTarget(playerB, ""); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); diff --git a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java index 30e83c5c63..932c63de59 100644 --- a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java +++ b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java @@ -1160,6 +1160,13 @@ public class TestPlayer implements Player { abilityControllerId = target.getAbilityController(); } + // do not select + if (targets.get(0).equals("")) { + Assert.assertEquals("found empty choice, but target is not support 0 choice", 0, target.getMinNumberOfTargets()); + targets.remove(0); + return true; + } + // player if (target instanceof TargetPlayer || target instanceof TargetAnyTarget