Restored some lost V1 unit tests from errata
This commit is contained in:
@@ -8,18 +8,23 @@ import org.junit.Test;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class Card_V1_019_Tests
|
||||
{
|
||||
|
||||
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<>()
|
||||
{{
|
||||
put("card", "101_19");
|
||||
// put other cards in here as needed for the test case
|
||||
new HashMap<>() {{
|
||||
put("aragorn", "101_19");
|
||||
put("arwen", "1_30");
|
||||
put("elrond", "1_40");
|
||||
put("galadriel", "1_45");
|
||||
put("celeborn", "1_34");
|
||||
put("orophin", "1_56");
|
||||
put("defiance", "1_37");
|
||||
|
||||
put("runner", "1_178");
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
@@ -49,7 +54,7 @@ public class Card_V1_019_Tests
|
||||
|
||||
var scn = GetScenario();
|
||||
|
||||
var card = scn.GetFreepsCard("card");
|
||||
var card = scn.GetFreepsCard("aragorn");
|
||||
|
||||
assertEquals("Aragorn", card.getBlueprint().getTitle());
|
||||
assertEquals("Estel", card.getBlueprint().getSubtitle());
|
||||
@@ -65,18 +70,127 @@ public class Card_V1_019_Tests
|
||||
assertEquals(Signet.GANDALF, card.getBlueprint().getSignet());
|
||||
}
|
||||
|
||||
// Uncomment any @Test markers below once this is ready to be used
|
||||
//@Test
|
||||
public void AragornTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
@Test
|
||||
public void EstelDoesNotPlayElfIfPlayedInStartingFellowship() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
var aragorn = scn.GetFreepsCard("aragorn");
|
||||
|
||||
//scn.StartGame();
|
||||
assertTrue(scn.FreepsDecisionAvailable("Starting fellowship"));
|
||||
scn.FreepsChooseCard(aragorn);
|
||||
assertFalse(scn.FreepsHasOptionalTriggerAvailable());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void EstelOnPlayTutorsAnElfOfCost2OrLess() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var aragorn = scn.GetFreepsCard("aragorn");
|
||||
var arwen = scn.GetFreepsCard("arwen");
|
||||
var elrond = scn.GetFreepsCard("elrond");
|
||||
var galadriel = scn.GetFreepsCard("galadriel");
|
||||
var celeborn = scn.GetFreepsCard("celeborn");
|
||||
var orophin = scn.GetFreepsCard("orophin");
|
||||
scn.FreepsMoveCardToHand(aragorn);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
|
||||
assertEquals(4, scn.GetTwilight());
|
||||
scn.FreepsPlayCard(aragorn);
|
||||
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||
scn.FreepsAcceptOptionalTrigger();
|
||||
scn.FreepsDismissRevealedCards();
|
||||
|
||||
//Orophin, Celeborn, or Arwen, but not Elrond (4) or Galadriel (3)
|
||||
assertTrue(scn.FreepsHasCardChoicesAvailable(orophin, celeborn, arwen));
|
||||
assertFalse(scn.FreepsHasCardChoicesAvailable(elrond, galadriel));
|
||||
assertEquals(3, scn.FreepsGetCardChoiceCount());
|
||||
assertEquals(Zone.DECK, orophin.getZone());
|
||||
assertEquals(0, scn.GetFreepsHandCount());
|
||||
assertEquals(7, scn.GetFreepsDeckCount());
|
||||
|
||||
scn.FreepsChooseCardBPFromSelection(orophin);
|
||||
assertEquals(Zone.SUPPORT, orophin.getZone());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void SkirmishAbilityCanDiscardsElvenCardToPumpAragorn() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var aragorn = scn.GetFreepsCard("aragorn");
|
||||
var defiance = scn.GetFreepsCard("defiance");
|
||||
var arwen = scn.GetFreepsCard("arwen");
|
||||
|
||||
scn.FreepsMoveCharToTable(aragorn);
|
||||
scn.FreepsMoveCardToHand(defiance, arwen);
|
||||
|
||||
var runner = scn.GetShadowCard("runner");
|
||||
|
||||
scn.ShadowMoveCharToTable(runner);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
scn.SkipToAssignments();
|
||||
scn.FreepsAssignAndResolve(aragorn, runner);
|
||||
|
||||
assertTrue(scn.FreepsActionAvailable(aragorn));
|
||||
assertEquals(Zone.HAND, defiance.getZone());
|
||||
assertEquals(Zone.HAND, arwen.getZone());
|
||||
assertEquals(8, scn.GetStrength(aragorn));
|
||||
|
||||
scn.FreepsUseCardAction(aragorn);
|
||||
assertTrue(scn.FreepsDecisionAvailable("Choose cards from hand to discard"));
|
||||
assertTrue(scn.FreepsHasCardChoicesAvailable(arwen, defiance));
|
||||
scn.FreepsChooseCard(defiance);
|
||||
|
||||
assertEquals(Zone.DISCARD, defiance.getZone());
|
||||
assertEquals(Zone.HAND, arwen.getZone());
|
||||
|
||||
scn.FreepsChoose("strength");
|
||||
assertEquals(10, scn.GetStrength(aragorn));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void SkirmishAbilityCanDiscardsElvenCardToAddDamage() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var aragorn = scn.GetFreepsCard("aragorn");
|
||||
var defiance = scn.GetFreepsCard("defiance");
|
||||
var arwen = scn.GetFreepsCard("arwen");
|
||||
|
||||
scn.FreepsMoveCharToTable(aragorn);
|
||||
scn.FreepsMoveCardToHand(defiance, arwen);
|
||||
|
||||
var runner = scn.GetShadowCard("runner");
|
||||
|
||||
scn.ShadowMoveCharToTable(runner);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
scn.SkipToAssignments();
|
||||
scn.FreepsAssignAndResolve(aragorn, runner);
|
||||
|
||||
assertTrue(scn.FreepsActionAvailable(aragorn));
|
||||
assertEquals(Zone.HAND, defiance.getZone());
|
||||
assertEquals(Zone.HAND, arwen.getZone());
|
||||
assertFalse(scn.hasKeyword(aragorn, Keyword.DAMAGE));
|
||||
|
||||
scn.FreepsUseCardAction(aragorn);
|
||||
assertTrue(scn.FreepsDecisionAvailable("Choose cards from hand to discard"));
|
||||
assertTrue(scn.FreepsHasCardChoicesAvailable(arwen, defiance));
|
||||
scn.FreepsChooseCard(defiance);
|
||||
|
||||
assertEquals(Zone.DISCARD, defiance.getZone());
|
||||
assertEquals(Zone.HAND, arwen.getZone());
|
||||
|
||||
scn.FreepsChoose("damage");
|
||||
assertTrue(scn.hasKeyword(aragorn, Keyword.DAMAGE));
|
||||
assertEquals(1, scn.GetKeywordCount(aragorn, Keyword.DAMAGE));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,23 +3,22 @@ package com.gempukku.lotro.cards.unofficial.pc.vsets.set_v01;
|
||||
import com.gempukku.lotro.cards.GenericCardTestHelper;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.game.CardNotFoundException;
|
||||
import com.gempukku.lotro.game.PhysicalCardImpl;
|
||||
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class Card_V1_052_Tests
|
||||
{
|
||||
|
||||
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<>()
|
||||
{{
|
||||
put("card", "101_52");
|
||||
// put other cards in here as needed for the test case
|
||||
new HashMap<>() {{
|
||||
put("merry", "101_52");
|
||||
put("shelob", "8_26");
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
@@ -48,7 +47,7 @@ public class Card_V1_052_Tests
|
||||
|
||||
var scn = GetScenario();
|
||||
|
||||
var card = scn.GetFreepsCard("card");
|
||||
var card = scn.GetFreepsCard("merry");
|
||||
|
||||
assertEquals("Merry", card.getBlueprint().getTitle());
|
||||
assertEquals("Of Buckland", card.getBlueprint().getSubtitle());
|
||||
@@ -64,18 +63,99 @@ public class Card_V1_052_Tests
|
||||
assertEquals(Signet.FRODO, card.getBlueprint().getSignet());
|
||||
}
|
||||
|
||||
// Uncomment any @Test markers below once this is ready to be used
|
||||
//@Test
|
||||
public void MerryTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
@Test
|
||||
public void MerryExertsTwiceToPreventMinionSkirmishing() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
var merry = scn.GetFreepsCard("merry");
|
||||
scn.FreepsMoveCharToTable(merry);
|
||||
|
||||
var shelob = scn.GetShadowCard("shelob");
|
||||
scn.ShadowMoveCharToTable(shelob);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
|
||||
assertEquals(1, scn.GetTwilight());
|
||||
scn.SkipToPhase(Phase.ASSIGNMENT);
|
||||
assertEquals(0, scn.GetWoundsOn(merry));
|
||||
assertEquals(0, scn.GetWoundsOn(shelob));
|
||||
assertTrue(scn.FreepsActionAvailable(merry));
|
||||
|
||||
scn.FreepsUseCardAction(merry);
|
||||
assertEquals(2, scn.GetWoundsOn(merry));
|
||||
scn.ShadowChooseNo();
|
||||
scn.ShadowPassCurrentPhaseAction();
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
//immediately skips to the fierce skirmish
|
||||
scn.PassCurrentPhaseActions();
|
||||
|
||||
assertEquals(Phase.REGROUP, scn.GetCurrentPhase());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void MinionCanExhaustToPreventAbility() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var merry = scn.GetFreepsCard("merry");
|
||||
scn.FreepsMoveCharToTable(merry);
|
||||
|
||||
var shelob = scn.GetShadowCard("shelob");
|
||||
scn.ShadowMoveCharToTable(shelob);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
scn.SkipToPhase(Phase.ASSIGNMENT);
|
||||
assertEquals(0, scn.GetWoundsOn(merry));
|
||||
assertEquals(0, scn.GetWoundsOn(shelob));
|
||||
assertTrue(scn.FreepsActionAvailable(merry));
|
||||
|
||||
scn.FreepsUseCardAction(merry);
|
||||
assertEquals(2, scn.GetWoundsOn(merry));
|
||||
assertTrue(scn.ShadowDecisionAvailable("Would you like to exhaust"));
|
||||
|
||||
scn.ShadowChooseYes();
|
||||
assertEquals(7, scn.GetWoundsOn(shelob));
|
||||
|
||||
scn.ShadowPassCurrentPhaseAction();
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertTrue(scn.FreepsDecisionAvailable("Assign minions"));
|
||||
}
|
||||
|
||||
// @Test
|
||||
// public void ExhaustedMinionCannotExertToPreventAbility() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
// //Pre-game setup
|
||||
// var scn = GetScenario();
|
||||
//
|
||||
// var merry = scn.GetFreepsCard("merry");
|
||||
// scn.FreepsMoveCharToTable(merry);
|
||||
//
|
||||
// var shelob = scn.GetShadowCard("shelob");
|
||||
// scn.ShadowMoveCharToTable(shelob);
|
||||
//
|
||||
// scn.StartGame();
|
||||
//
|
||||
// scn.SkipToPhase(Phase.ASSIGNMENT);
|
||||
// assertEquals(0, scn.GetWoundsOn(merry));
|
||||
// assertEquals(0, scn.GetWoundsOn(shelob));
|
||||
// assertTrue(scn.FreepsActionAvailable(merry));
|
||||
//
|
||||
// scn.FreepsUseCardAction(merry);
|
||||
// assertEquals(2, scn.GetWoundsOn(merry));
|
||||
// assertTrue(scn.ShadowDecisionAvailable("Would you like to exhaust"));
|
||||
//
|
||||
// scn.ShadowChooseYes();
|
||||
// assertEquals(7, scn.GetWoundsOn(shelob));
|
||||
//
|
||||
// scn.PassAssignmentActions();
|
||||
// //Cheating to do it again during fierce
|
||||
// scn.RemoveWoundsFromChar(merry, 2);
|
||||
//
|
||||
// assertTrue(scn.FreepsDecisionAvailable("Assign minions"));
|
||||
// scn.FreepsDeclineAssignments();
|
||||
// scn.ShadowDeclineAssignments();
|
||||
//
|
||||
// assertEquals(Phase.ASSIGNMENT, scn.GetCurrentPhase());
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -3,23 +3,24 @@ package com.gempukku.lotro.cards.unofficial.pc.vsets.set_v01;
|
||||
import com.gempukku.lotro.cards.GenericCardTestHelper;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.game.CardNotFoundException;
|
||||
import com.gempukku.lotro.game.PhysicalCardImpl;
|
||||
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class Card_V1_054_Tests
|
||||
{
|
||||
|
||||
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<>()
|
||||
{{
|
||||
put("card", "101_54");
|
||||
// put other cards in here as needed for the test case
|
||||
new HashMap<>() {{
|
||||
put("sam", "101_54");
|
||||
put("boromir", "1_97");
|
||||
|
||||
put("runner", "1_178");
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
@@ -49,7 +50,7 @@ public class Card_V1_054_Tests
|
||||
|
||||
var scn = GetScenario();
|
||||
|
||||
var card = scn.GetFreepsCard("card");
|
||||
var card = scn.GetFreepsCard("sam");
|
||||
|
||||
assertEquals("Sam", card.getBlueprint().getTitle());
|
||||
assertEquals("Of Bagshot Row", card.getBlueprint().getSubtitle());
|
||||
@@ -65,18 +66,38 @@ public class Card_V1_054_Tests
|
||||
assertEquals(Signet.FRODO, card.getBlueprint().getSignet());
|
||||
}
|
||||
|
||||
// Uncomment any @Test markers below once this is ready to be used
|
||||
//@Test
|
||||
public void SamTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
@Test
|
||||
public void EachTimeFrodoSignetWinsSkirmishTheyHeal() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
var sam = scn.GetFreepsCard("sam");
|
||||
var boromir = scn.GetFreepsCard("boromir");
|
||||
scn.FreepsMoveCharToTable(sam, boromir);
|
||||
|
||||
var runner = scn.GetShadowCard("runner");
|
||||
scn.ShadowMoveCharToTable(runner);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
|
||||
assertEquals(2, scn.GetTwilight());
|
||||
scn.AddWoundsToChar(boromir, 1);
|
||||
|
||||
scn.SkipToPhase(Phase.ASSIGNMENT);
|
||||
scn.PassCurrentPhaseActions();
|
||||
scn.FreepsAssignToMinions(boromir, runner);
|
||||
scn.FreepsResolveSkirmish(boromir);
|
||||
|
||||
assertEquals(1, scn.GetWoundsOn(boromir));
|
||||
assertEquals(0, scn.GetWoundsOn(sam));
|
||||
assertEquals(1, scn.GetBurdens()); //1 from the bidding
|
||||
|
||||
scn.PassCurrentPhaseActions();
|
||||
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||
scn.FreepsAcceptOptionalTrigger();
|
||||
|
||||
assertEquals(0, scn.GetWoundsOn(boromir));
|
||||
assertEquals(0, scn.GetWoundsOn(sam));
|
||||
assertEquals(1, scn.GetBurdens());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package com.gempukku.lotro.cards.unofficial.pc.vsets.set_v01;
|
||||
|
||||
import com.gempukku.lotro.cards.GenericCardTestHelper;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.game.CardNotFoundException;
|
||||
import com.gempukku.lotro.game.PhysicalCardImpl;
|
||||
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
|
||||
import com.gempukku.lotro.logic.modifiers.MoveLimitModifier;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -16,12 +18,26 @@ public class Card_V1_061_Tests
|
||||
|
||||
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<>()
|
||||
{{
|
||||
put("card", "101_61");
|
||||
// put other cards in here as needed for the test case
|
||||
new HashMap<>() {{
|
||||
put("aragorn", "1_89");
|
||||
put("orophin", "1_56");
|
||||
put("uruviel", "1_67");
|
||||
put("pathfinder", "1_110");
|
||||
|
||||
put("runner", "1_178");
|
||||
|
||||
}},
|
||||
new HashMap<>() {{
|
||||
put("site1", "1_319");
|
||||
put("site2", "1_327");
|
||||
put("site3", "1_337");
|
||||
put("site4", "1_343");
|
||||
put("site5", "1_349");
|
||||
put("site6", "101_61");
|
||||
put("site7", "3_118"); //NOT Anduin Confluence! lol
|
||||
put("site8", "1_356");
|
||||
put("site9", "1_360");
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
GenericCardTestHelper.RulingRing
|
||||
);
|
||||
@@ -34,20 +50,17 @@ public class Card_V1_061_Tests
|
||||
* Set: V1
|
||||
* Name: Lorien Throne Room
|
||||
* Unique: False
|
||||
* Side:
|
||||
* Culture:
|
||||
* Side:
|
||||
* Culture:
|
||||
* Shadow Number: 3
|
||||
* Type: Sanctuary
|
||||
* Subtype:
|
||||
* Subtype:
|
||||
* Site Number: 6
|
||||
* Game Text: Forest. Sanctuary. Each time a companion exerts here, you may exert an [elven] ally to heal that companion (limit once per phase).
|
||||
*/
|
||||
*/
|
||||
|
||||
var scn = GetScenario();
|
||||
|
||||
//Use this once you have set the deck up properly
|
||||
//var card = scn.GetFreepsSite(6);
|
||||
var card = scn.GetFreepsCard("card");
|
||||
var card = scn.GetFreepsSite(6);
|
||||
|
||||
assertEquals("Lorien Throne Room", card.getBlueprint().getTitle());
|
||||
assertNull(card.getBlueprint().getSubtitle());
|
||||
@@ -59,18 +72,112 @@ public class Card_V1_061_Tests
|
||||
assertEquals(6, card.getBlueprint().getSiteNumber());
|
||||
}
|
||||
|
||||
// Uncomment any @Test markers below once this is ready to be used
|
||||
//@Test
|
||||
public void LorienThroneRoomTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
@Test
|
||||
public void WhenCompanionsExertAnElvenAllyMayExertToHealThatCompanion() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
var aragorn = scn.GetFreepsCard("aragorn");
|
||||
var orophin = scn.GetFreepsCard("orophin");
|
||||
scn.FreepsMoveCharToTable(aragorn, orophin);
|
||||
|
||||
var runner = scn.GetShadowCard("runner");
|
||||
scn.ShadowMoveCardToHand(runner);
|
||||
|
||||
//Max out the move limit so we don't have to juggle play back and forth
|
||||
scn.ApplyAdHocModifier(new MoveLimitModifier(null, 10));
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
|
||||
assertEquals(3, scn.GetTwilight());
|
||||
scn.SkipToSite(5);
|
||||
|
||||
scn.ShadowMoveCharToTable(runner);
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(6, scn.GetCurrentSiteNumber());
|
||||
assertEquals(scn.GetShadowSite(6), scn.GetCurrentSite());
|
||||
|
||||
scn.SkipToPhase(Phase.MANEUVER);
|
||||
assertEquals(0, scn.GetWoundsOn(aragorn));
|
||||
scn.FreepsUseCardAction(aragorn);
|
||||
assertEquals(1, scn.GetWoundsOn(aragorn));
|
||||
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||
assertEquals(0, scn.GetWoundsOn(orophin));
|
||||
scn.FreepsAcceptOptionalTrigger();
|
||||
assertEquals(1, scn.GetWoundsOn(orophin));
|
||||
assertEquals(0, scn.GetWoundsOn(aragorn));
|
||||
|
||||
//Limit once per phase
|
||||
scn.ShadowPassCurrentPhaseAction();
|
||||
assertEquals(0, scn.GetWoundsOn(aragorn));
|
||||
scn.FreepsUseCardAction(aragorn);
|
||||
assertEquals(1, scn.GetWoundsOn(aragorn));
|
||||
assertFalse(scn.FreepsHasOptionalTriggerAvailable());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void UruvielDoesNotCopyLorienThroneRoom() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var aragorn = scn.GetFreepsCard("aragorn");
|
||||
var uruviel = scn.GetFreepsCard("uruviel");
|
||||
var pathfinder = scn.GetFreepsCard("pathfinder");
|
||||
scn.FreepsMoveCharToTable(aragorn, uruviel);
|
||||
scn.FreepsMoveCardToHand(pathfinder);
|
||||
|
||||
var runner = scn.GetShadowCard("runner");
|
||||
scn.ShadowMoveCardToHand(runner);
|
||||
|
||||
//Max out the move limit so we don't have to juggle play back and forth
|
||||
scn.ApplyAdHocModifier(new MoveLimitModifier(null, 10));
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
// 1 -> 3
|
||||
scn.SkipToPhase(Phase.REGROUP);
|
||||
scn.PassCurrentPhaseActions();
|
||||
scn.ShadowDeclineReconciliation();
|
||||
scn.FreepsChooseToMove();
|
||||
|
||||
// 3 -> 4
|
||||
scn.SkipToPhase(Phase.REGROUP);
|
||||
scn.PassCurrentPhaseActions();
|
||||
scn.ShadowDeclineReconciliation();
|
||||
scn.FreepsChooseToMove();
|
||||
|
||||
// 4 -> 5
|
||||
scn.SkipToPhase(Phase.REGROUP);
|
||||
scn.PassCurrentPhaseActions();
|
||||
scn.ShadowDeclineReconciliation();
|
||||
scn.FreepsChooseToMove();
|
||||
|
||||
// 5 -> 6
|
||||
scn.SkipToPhase(Phase.REGROUP);
|
||||
assertEquals(5, (long)scn.GetCurrentSite().getSiteNumber());
|
||||
scn.FreepsPlayCard(pathfinder); //ensure that it counts as "ours"
|
||||
scn.ShadowPassCurrentPhaseAction();
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
scn.ShadowDeclineReconciliation();
|
||||
scn.FreepsChooseToMove();
|
||||
assertEquals("Lorien Throne Room", scn.GetCurrentSite().getBlueprint().getTitle());
|
||||
|
||||
// 6 -> 7
|
||||
scn.SkipToPhase(Phase.REGROUP);
|
||||
scn.PassCurrentPhaseActions();
|
||||
scn.ShadowDeclineReconciliation();
|
||||
scn.FreepsChooseToMove();
|
||||
assertEquals(7, (long)scn.GetCurrentSite().getSiteNumber());
|
||||
|
||||
scn.ShadowMoveCharToTable(runner);
|
||||
|
||||
assertEquals(GenericCardTestHelper.P1, scn.GetFreepsSite(6).getOwner());
|
||||
assertEquals(7, scn.GetCurrentSite().getSiteNumber().intValue());
|
||||
|
||||
scn.SkipToPhase(Phase.MANEUVER);
|
||||
assertEquals(0, scn.GetWoundsOn(aragorn));
|
||||
scn.FreepsUseCardAction(aragorn);
|
||||
assertEquals(1, scn.GetWoundsOn(aragorn));
|
||||
assertFalse(scn.FreepsHasOptionalTriggerAvailable());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user