Reworked Olorin and Counsel of the Wise
This commit is contained in:
@@ -62,6 +62,10 @@
|
||||
"filter": "culture(elven),ally",
|
||||
"count": 2
|
||||
},
|
||||
"cost": {
|
||||
"type": "exert",
|
||||
"filter": "choose(name(Gandalf))"
|
||||
},
|
||||
"effect": {
|
||||
"type": "shuffleCardsFromDiscardIntoDrawDeck",
|
||||
"filter": "choose(or(culture(gandalf),culture(elven)))"
|
||||
@@ -124,6 +128,7 @@
|
||||
"effects": [
|
||||
{
|
||||
"type": "trigger",
|
||||
"optional": true,
|
||||
"trigger": {
|
||||
"type": "movesTo",
|
||||
"filter": "not(your)"
|
||||
|
||||
@@ -108,6 +108,38 @@ public class Card_V1_013_Tests
|
||||
assertEquals(1, scn.GetFreepsDiscardCount());
|
||||
assertEquals(4, scn.GetTwilight());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void CanRevealWithoutPaying() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl counsel = scn.GetFreepsCard("counsel");
|
||||
PhysicalCardImpl elrond = scn.GetFreepsCard("elrond");
|
||||
PhysicalCardImpl gandalf = scn.GetFreepsCard("gandalf");
|
||||
scn.FreepsMoveCardToHand(counsel);
|
||||
scn.FreepsMoveCharToTable(gandalf);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
assertEquals(1, scn.GetFreepsHandCount());
|
||||
assertEquals(3, scn.GetFreepsDeckCount());
|
||||
assertEquals(0, scn.GetTwilight());
|
||||
|
||||
scn.FreepsPlayCard(counsel);
|
||||
assertTrue(scn.FreepsDecisionAvailable("Choose card from deck"));
|
||||
// Choices available should be 1 Elrond, 1 Galadriel, 1 Orophin
|
||||
assertEquals(3, scn.GetFreepsCardChoiceCount());
|
||||
scn.FreepsChooseCardBPFromSelection(scn.GetFreepsCard("elrond"));
|
||||
assertTrue(scn.FreepsDecisionAvailable("Would you like to pay"));
|
||||
scn.FreepsChooseNo();
|
||||
|
||||
assertEquals(0, scn.GetFreepsHandCount());
|
||||
assertEquals(Zone.DECK, elrond.getZone());
|
||||
assertEquals(3, scn.GetFreepsDeckCount());
|
||||
assertEquals(1, scn.GetFreepsDiscardCount());
|
||||
assertEquals(0, scn.GetTwilight());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -22,8 +22,16 @@ public class Card_V1_014_Tests
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<String, String>()
|
||||
{{
|
||||
put("card", "151_14");
|
||||
// put other cards in here as needed for the test case
|
||||
put("gandalf", "151_14");
|
||||
put("elrond", "1_40");
|
||||
put("elrondcomp", "7_21");
|
||||
put("galadriel", "1_45");
|
||||
put("celeborn", "1_34");
|
||||
put("orophin", "1_56");
|
||||
|
||||
put("boats", "1_46");
|
||||
put("bb", "1_70");
|
||||
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
@@ -31,9 +39,7 @@ public class Card_V1_014_Tests
|
||||
);
|
||||
}
|
||||
|
||||
// Uncomment both @Test markers below once this is ready to be used
|
||||
|
||||
//@Test
|
||||
@Test
|
||||
public void GandalfStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
|
||||
/**
|
||||
@@ -55,34 +61,132 @@ public class Card_V1_014_Tests
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
PhysicalCardImpl gandalf = scn.GetFreepsCard("gandalf");
|
||||
|
||||
assertTrue(card.getBlueprint().isUnique());
|
||||
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
|
||||
assertEquals(Culture.GANDALF, card.getBlueprint().getCulture());
|
||||
assertEquals(CardType.COMPANION, card.getBlueprint().getCardType());
|
||||
assertEquals(Race.CREATURE, card.getBlueprint().getRace());
|
||||
assertTrue(scn.HasKeyword(card, Keyword.SUPPORT_AREA)); // test for keywords as needed
|
||||
assertEquals(4, card.getBlueprint().getTwilightCost());
|
||||
assertEquals(6, card.getBlueprint().getStrength());
|
||||
assertEquals(4, card.getBlueprint().getVitality());
|
||||
//assertEquals(, card.getBlueprint().getResistance());
|
||||
assertEquals(Signet.GANDALF, card.getBlueprint().getSignet());
|
||||
//assertEquals(, card.getBlueprint().getSiteNumber()); // Change this to getAllyHomeSiteNumbers for allies
|
||||
assertTrue(gandalf.getBlueprint().isUnique());
|
||||
assertEquals(Side.FREE_PEOPLE, gandalf.getBlueprint().getSide());
|
||||
assertEquals(Culture.GANDALF, gandalf.getBlueprint().getCulture());
|
||||
assertEquals(CardType.COMPANION, gandalf.getBlueprint().getCardType());
|
||||
assertEquals(Race.WIZARD, gandalf.getBlueprint().getRace());
|
||||
//assertTrue(scn.HasKeyword(gandalf, Keyword.SUPPORT_AREA)); // test for keywords as needed
|
||||
assertEquals(4, gandalf.getBlueprint().getTwilightCost());
|
||||
assertEquals(6, gandalf.getBlueprint().getStrength());
|
||||
assertEquals(4, gandalf.getBlueprint().getVitality());
|
||||
//assertEquals(, gandalf.getBlueprint().getResistance());
|
||||
assertEquals(Signet.GANDALF, gandalf.getBlueprint().getSignet());
|
||||
//assertEquals(, gandalf.getBlueprint().getSiteNumber()); // Change this to getAllyHomeSiteNumbers for allies
|
||||
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void GandalfTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
@Test
|
||||
public void GandalfExertsAndSpotsTwoElvenAlliesToShuffleACardFromDiscardIntoDeck() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
PhysicalCardImpl gandalf = scn.GetFreepsCard("gandalf");
|
||||
PhysicalCardImpl boats = scn.GetFreepsCard("boats");
|
||||
PhysicalCardImpl bb = scn.GetFreepsCard("bb");
|
||||
|
||||
scn.FreepsMoveCharToTable(gandalf);
|
||||
scn.FreepsMoveCharToTable("galadriel", "orophin");
|
||||
scn.FreepsMoveCardToDiscard(boats, bb);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
|
||||
assertEquals(4, scn.GetTwilight());
|
||||
assertEquals(0, scn.GetWoundsOn(gandalf));
|
||||
assertEquals(Zone.DISCARD, boats.getZone());
|
||||
assertEquals(Zone.DISCARD, bb.getZone());
|
||||
|
||||
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||
scn.FreepsAcceptOptionalTrigger();
|
||||
assertTrue(scn.FreepsDecisionAvailable("Choose card from discard"));
|
||||
//One each of Elven and Gandalf cards in the discard to choose from
|
||||
assertEquals(2, scn.GetFreepsCardChoiceCount());
|
||||
scn.FreepsChooseCardBPFromSelection(boats);
|
||||
|
||||
assertEquals(1, scn.GetWoundsOn(gandalf));
|
||||
assertEquals(Zone.DECK, boats.getZone());
|
||||
assertEquals(Zone.DISCARD, bb.getZone());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void WhileThereAre3ElvenAlliesGandalfIsStrengthPlus2() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl gandalf = scn.GetFreepsCard("gandalf");
|
||||
PhysicalCardImpl elrond = scn.GetFreepsCard("elrond");
|
||||
PhysicalCardImpl galadriel = scn.GetFreepsCard("galadriel");
|
||||
PhysicalCardImpl orophin = scn.GetFreepsCard("orophin");
|
||||
|
||||
scn.FreepsMoveCharToTable(gandalf);
|
||||
scn.FreepsMoveCardToHand(elrond, galadriel, orophin);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
assertEquals(6, scn.GetStrength(gandalf));
|
||||
|
||||
scn.FreepsPlayCard(elrond);
|
||||
assertEquals(6, scn.GetStrength(gandalf));
|
||||
|
||||
scn.FreepsPlayCard(galadriel);
|
||||
assertEquals(6, scn.GetStrength(gandalf));
|
||||
|
||||
scn.FreepsPlayCard(orophin);
|
||||
assertEquals(8, scn.GetStrength(gandalf));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void WhileThereAre3WhiteCouncilMembersGandalfIsStrengthPlus2() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl gandalf = scn.GetFreepsCard("gandalf");
|
||||
PhysicalCardImpl elrondcomp = scn.GetFreepsCard("elrondcomp");
|
||||
PhysicalCardImpl galadriel = scn.GetFreepsCard("galadriel");
|
||||
PhysicalCardImpl celeborn = scn.GetFreepsCard("celeborn");
|
||||
|
||||
scn.FreepsMoveCharToTable(gandalf);
|
||||
scn.FreepsMoveCardToHand(elrondcomp, galadriel, celeborn);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
assertEquals(6, scn.GetStrength(gandalf));
|
||||
|
||||
scn.FreepsPlayCard(galadriel);
|
||||
assertEquals(6, scn.GetStrength(gandalf));
|
||||
|
||||
scn.FreepsPlayCard(elrondcomp);
|
||||
assertEquals(6, scn.GetStrength(gandalf));
|
||||
|
||||
scn.FreepsPlayCard(celeborn);
|
||||
assertEquals(8, scn.GetStrength(gandalf));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void WhileThereAreBothAlliesAndWhiteCouncilMembersGandalfIsStrengthPlus4() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl gandalf = scn.GetFreepsCard("gandalf");
|
||||
PhysicalCardImpl elrond = scn.GetFreepsCard("elrond");
|
||||
PhysicalCardImpl galadriel = scn.GetFreepsCard("galadriel");
|
||||
PhysicalCardImpl celeborn = scn.GetFreepsCard("celeborn");
|
||||
|
||||
scn.FreepsMoveCharToTable(gandalf);
|
||||
scn.FreepsMoveCardToHand(elrond, galadriel, celeborn);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
assertEquals(6, scn.GetStrength(gandalf));
|
||||
|
||||
scn.FreepsPlayCard(elrond);
|
||||
assertEquals(6, scn.GetStrength(gandalf));
|
||||
|
||||
scn.FreepsPlayCard(galadriel);
|
||||
assertEquals(6, scn.GetStrength(gandalf));
|
||||
|
||||
scn.FreepsPlayCard(celeborn);
|
||||
assertEquals(10, scn.GetStrength(gandalf));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user