Added proper unit tests for Sent Back
This commit is contained in:
@@ -193,7 +193,7 @@
|
|||||||
{
|
{
|
||||||
type: chooseActiveCards
|
type: chooseActiveCards
|
||||||
text: Choose Wizard to put in dead pile
|
text: Choose Wizard to put in dead pile
|
||||||
filter: choose(wizard,inSkirmish)
|
filter: choose(your,wizard,inSkirmish)
|
||||||
memorize: chosenWizard
|
memorize: chosenWizard
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,10 +1,7 @@
|
|||||||
package com.gempukku.lotro.cards.unofficial.pc.errata.set09;
|
package com.gempukku.lotro.cards.unofficial.pc.errata.set09;
|
||||||
|
|
||||||
import com.gempukku.lotro.cards.GenericCardTestHelper;
|
import com.gempukku.lotro.cards.GenericCardTestHelper;
|
||||||
import com.gempukku.lotro.common.CardType;
|
import com.gempukku.lotro.common.*;
|
||||||
import com.gempukku.lotro.common.Culture;
|
|
||||||
import com.gempukku.lotro.common.Keyword;
|
|
||||||
import com.gempukku.lotro.common.Side;
|
|
||||||
import com.gempukku.lotro.game.CardNotFoundException;
|
import com.gempukku.lotro.game.CardNotFoundException;
|
||||||
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
|
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -21,7 +18,15 @@ public class Card_09_027_ErrataTests
|
|||||||
new HashMap<>()
|
new HashMap<>()
|
||||||
{{
|
{{
|
||||||
put("sentback", "79_27");
|
put("sentback", "79_27");
|
||||||
// put other cards in here as needed for the test case
|
put("gandalf1", "1_72");
|
||||||
|
put("gandalf2", "7_36");
|
||||||
|
put("radagast1", "9_26");
|
||||||
|
put("radagast2", "9_26");
|
||||||
|
|
||||||
|
put("saruman", "3_69");
|
||||||
|
put("staff", "4_174");
|
||||||
|
put("runner1", "1_178");
|
||||||
|
put("runner2", "1_178");
|
||||||
}},
|
}},
|
||||||
GenericCardTestHelper.FellowshipSites,
|
GenericCardTestHelper.FellowshipSites,
|
||||||
GenericCardTestHelper.FOTRFrodo,
|
GenericCardTestHelper.FOTRFrodo,
|
||||||
@@ -59,17 +64,94 @@ public class Card_09_027_ErrataTests
|
|||||||
assertEquals(2, sentback.getBlueprint().getTwilightCost());
|
assertEquals(2, sentback.getBlueprint().getTwilightCost());
|
||||||
}
|
}
|
||||||
|
|
||||||
//@Test
|
@Test
|
||||||
public void SentBackTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
public void SkirmishAbilityDiscardsAllAssignedMinionsAndKillsWizard() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
//Pre-game setup
|
//Pre-game setup
|
||||||
var scn = GetScenario();
|
var scn = GetScenario();
|
||||||
|
|
||||||
var card = scn.GetFreepsCard("card");
|
var sentback = scn.GetFreepsCard("sentback");
|
||||||
scn.FreepsMoveCardToHand(card);
|
var gandalf = scn.GetFreepsCard("gandalf1");
|
||||||
|
var radagast = scn.GetFreepsCard("radagast1");
|
||||||
|
scn.FreepsMoveCardToSupportArea(sentback);
|
||||||
|
scn.FreepsMoveCharToTable(gandalf, radagast);
|
||||||
|
|
||||||
|
var saruman = scn.GetShadowCard("saruman");
|
||||||
|
var staff = scn.GetShadowCard("staff");
|
||||||
|
var runner1 = scn.GetShadowCard("runner1");
|
||||||
|
var runner2 = scn.GetShadowCard("runner2");
|
||||||
|
scn.ShadowMoveCharToTable(saruman, runner1, runner2);
|
||||||
|
scn.AttachCardsTo(saruman, staff);
|
||||||
|
|
||||||
scn.StartGame();
|
scn.StartGame();
|
||||||
scn.FreepsPlayCard(card);
|
|
||||||
|
|
||||||
assertEquals(2, scn.GetTwilight());
|
scn.SkipToPhase(Phase.MANEUVER);
|
||||||
|
scn.FreepsPassCurrentPhaseAction();
|
||||||
|
scn.ShadowUseCardAction(staff); // permit saruman to skirmish
|
||||||
|
|
||||||
|
scn.SkipToAssignments();
|
||||||
|
scn.FreepsDeclineAssignments();
|
||||||
|
scn.ShadowAssignToMinions(radagast, saruman, runner1, runner2);
|
||||||
|
|
||||||
|
scn.FreepsResolveSkirmish(radagast);
|
||||||
|
|
||||||
|
assertTrue(scn.FreepsActionAvailable(sentback));
|
||||||
|
assertEquals(Zone.SHADOW_CHARACTERS, saruman.getZone());
|
||||||
|
assertEquals(Zone.SHADOW_CHARACTERS, runner1.getZone());
|
||||||
|
assertEquals(Zone.SHADOW_CHARACTERS, runner2.getZone());
|
||||||
|
assertEquals(Zone.FREE_CHARACTERS, radagast.getZone());
|
||||||
|
assertEquals(Zone.SUPPORT, sentback.getZone());
|
||||||
|
scn.FreepsUseCardAction(sentback);
|
||||||
|
|
||||||
|
// Radagast should be the only viable choice. Saruman is viable in the original,
|
||||||
|
// but the errata requires you to target "your Wizard" rather than "a Wizard"
|
||||||
|
assertNotEquals(Phase.SKIRMISH, scn.GetCurrentPhase());
|
||||||
|
assertEquals(Zone.DISCARD, saruman.getZone());
|
||||||
|
assertEquals(Zone.DISCARD, runner1.getZone());
|
||||||
|
assertEquals(Zone.DISCARD, runner2.getZone());
|
||||||
|
assertEquals(Zone.DEAD, radagast.getZone());
|
||||||
|
assertEquals(Zone.DISCARD, sentback.getZone());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void FellowshipAbilityCanResurrectDeadWizard() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
|
//Pre-game setup
|
||||||
|
var scn = GetScenario();
|
||||||
|
|
||||||
|
var sentback = scn.GetFreepsCard("sentback");
|
||||||
|
var grey = scn.GetFreepsCard("gandalf1");
|
||||||
|
var white = scn.GetFreepsCard("gandalf2");
|
||||||
|
scn.FreepsMoveCardToSupportArea(sentback);
|
||||||
|
scn.FreepsMoveCardToDeadPile(grey);
|
||||||
|
scn.FreepsMoveCardToHand(white);
|
||||||
|
|
||||||
|
scn.StartGame();
|
||||||
|
|
||||||
|
assertTrue(scn.FreepsActionAvailable(sentback));
|
||||||
|
assertEquals(Zone.DEAD, grey.getZone());
|
||||||
|
assertEquals(Zone.HAND, white.getZone());
|
||||||
|
scn.FreepsUseCardAction(sentback);
|
||||||
|
assertEquals(Zone.DEAD, grey.getZone());
|
||||||
|
assertEquals(Zone.FREE_CHARACTERS, white.getZone());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void SentBackHasNoRegroupAbility() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
|
//Pre-game setup
|
||||||
|
var scn = GetScenario();
|
||||||
|
|
||||||
|
var sentback = scn.GetFreepsCard("sentback");
|
||||||
|
var grey = scn.GetFreepsCard("gandalf1");
|
||||||
|
var white = scn.GetFreepsCard("gandalf2");
|
||||||
|
scn.FreepsMoveCardToSupportArea(sentback);
|
||||||
|
scn.FreepsMoveCardToDeadPile(grey);
|
||||||
|
scn.FreepsMoveCardToHand(white);
|
||||||
|
|
||||||
|
scn.StartGame();
|
||||||
|
|
||||||
|
assertTrue(scn.FreepsActionAvailable(sentback));
|
||||||
|
|
||||||
|
scn.SkipToPhase(Phase.REGROUP);
|
||||||
|
|
||||||
|
assertFalse(scn.FreepsActionAvailable(sentback));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user