Completed the single remaining Ringwraith V1 revamp and finished up the missing unit tests for that culture
This commit is contained in:
@@ -144,6 +144,33 @@
|
||||
"multiplier": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "trigger",
|
||||
"trigger": {
|
||||
"type": "startofphase",
|
||||
"phase": "maneuver"
|
||||
},
|
||||
"optional": true,
|
||||
"cost": {
|
||||
"type": "exert",
|
||||
"filter": "self"
|
||||
},
|
||||
"effect": {
|
||||
"type": "preventable",
|
||||
"effect": {
|
||||
"type": "addKeyword",
|
||||
"filter": "self",
|
||||
"keyword": "fierce",
|
||||
"until": "start(regroup)",
|
||||
},
|
||||
"text": "Would you like to exert the Ring-bearer to prevent this minion from being fierce?",
|
||||
"player": "freeps",
|
||||
"cost": {
|
||||
"type": "exert",
|
||||
"filter": "choose(ring-bearer)"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -31,6 +31,7 @@ public class FilterFactory {
|
||||
|
||||
simpleFilters.put("ring bearer", (actionContext) -> Filters.ringBearer);
|
||||
simpleFilters.put("ringbearer", (actionContext) -> Filters.ringBearer);
|
||||
simpleFilters.put("ring-bearer", (actionContext) -> Filters.ringBearer);
|
||||
simpleFilters.put("any", (actionContext) -> Filters.any);
|
||||
simpleFilters.put("self", (actionContext) -> actionContext.getSource());
|
||||
simpleFilters.put("another", (actionContext) -> Filters.not(actionContext.getSource()));
|
||||
|
||||
@@ -22,7 +22,7 @@ public class Card_V1_040_Tests
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<String, String>()
|
||||
{{
|
||||
put("card", "151_40");
|
||||
put("rit", "151_40");
|
||||
// put other cards in here as needed for the test case
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
@@ -31,9 +31,7 @@ public class Card_V1_040_Tests
|
||||
);
|
||||
}
|
||||
|
||||
// Uncomment both @Test markers below once this is ready to be used
|
||||
|
||||
//@Test
|
||||
@Test
|
||||
public void RingwraithinTwilightStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
|
||||
/**
|
||||
@@ -55,34 +53,90 @@ public class Card_V1_040_Tests
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
PhysicalCardImpl rit = scn.GetFreepsCard("rit");
|
||||
|
||||
assertFalse(card.getBlueprint().isUnique());
|
||||
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
|
||||
assertEquals(Culture.WRAITH, card.getBlueprint().getCulture());
|
||||
assertEquals(CardType.MINION, 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(9, card.getBlueprint().getStrength());
|
||||
assertEquals(3, card.getBlueprint().getVitality());
|
||||
//assertEquals(, card.getBlueprint().getResistance());
|
||||
//assertEquals(Signet., card.getBlueprint().getSignet());
|
||||
assertEquals(3, card.getBlueprint().getSiteNumber()); // Change this to getAllyHomeSiteNumbers for allies
|
||||
assertFalse(rit.getBlueprint().isUnique());
|
||||
assertEquals(Side.SHADOW, rit.getBlueprint().getSide());
|
||||
assertEquals(Culture.WRAITH, rit.getBlueprint().getCulture());
|
||||
assertEquals(CardType.MINION, rit.getBlueprint().getCardType());
|
||||
assertEquals(Race.NAZGUL, rit.getBlueprint().getRace());
|
||||
assertTrue(scn.HasKeyword(rit, Keyword.TWILIGHT)); // test for keywords as needed
|
||||
assertEquals(4, rit.getBlueprint().getTwilightCost());
|
||||
assertEquals(9, rit.getBlueprint().getStrength());
|
||||
assertEquals(3, rit.getBlueprint().getVitality());
|
||||
//assertEquals(, rit.getBlueprint().getResistance());
|
||||
//assertEquals(Signet., rit.getBlueprint().getSignet());
|
||||
assertEquals(3, rit.getBlueprint().getSiteNumber()); // Change this to getAllyHomeSiteNumbers for allies
|
||||
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void RingwraithinTwilightTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
@Test
|
||||
public void RITIsStrengthPlusOnePerWoundOnTheRB() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
PhysicalCardImpl frodo = scn.GetRingBearer();
|
||||
|
||||
PhysicalCardImpl rit = scn.GetShadowCard("rit");
|
||||
scn.ShadowMoveCharToTable(rit);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
|
||||
assertEquals(4, scn.GetTwilight());
|
||||
assertEquals(9, scn.GetStrength(rit));
|
||||
scn.AddWoundsToChar(frodo, 1);
|
||||
assertEquals(10, scn.GetStrength(rit));
|
||||
scn.AddWoundsToChar(frodo, 1);
|
||||
assertEquals(11, scn.GetStrength(rit));
|
||||
scn.AddWoundsToChar(frodo, 1);
|
||||
assertEquals(12, scn.GetStrength(rit));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ManeuverActionMakesRITFierce() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl frodo = scn.GetRingBearer();
|
||||
|
||||
PhysicalCardImpl rit = scn.GetShadowCard("rit");
|
||||
scn.ShadowMoveCharToTable(rit);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
assertFalse(scn.HasKeyword(rit, Keyword.FIERCE));
|
||||
|
||||
scn.SkipToPhase(Phase.MANEUVER);
|
||||
assertTrue(scn.ShadowHasOptionalTriggerAvailable());
|
||||
scn.ShadowAcceptOptionalTrigger();
|
||||
scn.FreepsChooseNo();
|
||||
|
||||
assertTrue(scn.HasKeyword(rit, Keyword.FIERCE));
|
||||
|
||||
scn.SkipToPhase(Phase.ASSIGNMENT);
|
||||
|
||||
assertTrue(scn.HasKeyword(rit, Keyword.FIERCE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void FreepsCanPreventManeuverActionByExertingRingBearer() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl frodo = scn.GetRingBearer();
|
||||
|
||||
PhysicalCardImpl rit = scn.GetShadowCard("rit");
|
||||
scn.ShadowMoveCharToTable(rit);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
assertFalse(scn.HasKeyword(rit, Keyword.FIERCE));
|
||||
assertEquals(0, scn.GetWoundsOn(frodo));
|
||||
|
||||
scn.SkipToPhase(Phase.MANEUVER);
|
||||
scn.ShadowAcceptOptionalTrigger();
|
||||
assertTrue(scn.FreepsDecisionAvailable("prevent"));
|
||||
scn.FreepsChooseYes();
|
||||
|
||||
assertFalse(scn.HasKeyword(rit, Keyword.FIERCE));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,8 +22,13 @@ public class Card_V1_041_Tests
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<String, String>()
|
||||
{{
|
||||
put("card", "151_41");
|
||||
// put other cards in here as needed for the test case
|
||||
put("eyes", "151_41");
|
||||
put("twigul", "2_83");
|
||||
|
||||
put("filler1", "2_75");
|
||||
put("filler2", "2_75");
|
||||
put("filler3", "2_75");
|
||||
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
@@ -31,9 +36,7 @@ public class Card_V1_041_Tests
|
||||
);
|
||||
}
|
||||
|
||||
// Uncomment both @Test markers below once this is ready to be used
|
||||
|
||||
//@Test
|
||||
@Test
|
||||
public void TheirEyesFellUponHimStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
|
||||
/**
|
||||
@@ -51,15 +54,15 @@ public class Card_V1_041_Tests
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
PhysicalCardImpl eyes = scn.GetFreepsCard("eyes");
|
||||
|
||||
assertFalse(card.getBlueprint().isUnique());
|
||||
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
|
||||
assertEquals(Culture.WRAITH, card.getBlueprint().getCulture());
|
||||
assertEquals(CardType.CONDITION, card.getBlueprint().getCardType());
|
||||
assertFalse(eyes.getBlueprint().isUnique());
|
||||
assertEquals(Side.SHADOW, eyes.getBlueprint().getSide());
|
||||
assertEquals(Culture.WRAITH, eyes.getBlueprint().getCulture());
|
||||
assertEquals(CardType.CONDITION, eyes.getBlueprint().getCardType());
|
||||
//assertEquals(Race.CREATURE, card.getBlueprint().getRace());
|
||||
assertTrue(scn.HasKeyword(card, Keyword.SUPPORT_AREA)); // test for keywords as needed
|
||||
assertEquals(1, card.getBlueprint().getTwilightCost());
|
||||
assertTrue(scn.HasKeyword(eyes, Keyword.SUPPORT_AREA)); // test for keywords as needed
|
||||
assertEquals(1, eyes.getBlueprint().getTwilightCost());
|
||||
//assertEquals(, card.getBlueprint().getStrength());
|
||||
//assertEquals(, card.getBlueprint().getVitality());
|
||||
//assertEquals(, card.getBlueprint().getResistance());
|
||||
@@ -68,17 +71,94 @@ public class Card_V1_041_Tests
|
||||
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void TheirEyesFellUponHimTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
@Test
|
||||
public void RequiresATwigulToPlay() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
PhysicalCardImpl eyes = scn.GetShadowCard("eyes");
|
||||
PhysicalCardImpl twigul = scn.GetShadowCard("twigul");
|
||||
scn.ShadowMoveCardToHand(eyes, twigul);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
|
||||
assertEquals(1, scn.GetTwilight());
|
||||
scn.SetTwilight(10);
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertFalse(scn.ShadowCardPlayAvailable(eyes));
|
||||
scn.ShadowPlayCard(twigul);
|
||||
assertTrue(scn.ShadowCardPlayAvailable(eyes));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void EachMoveDrawsACardIfRingBearerIsWounded() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl frodo = scn.GetRingBearer();
|
||||
|
||||
PhysicalCardImpl eyes = scn.GetShadowCard("eyes");
|
||||
scn.ShadowMoveCardToSupportArea(eyes);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
assertEquals(0, scn.GetWoundsOn(frodo));
|
||||
assertEquals(0, scn.GetShadowHandCount());
|
||||
assertEquals(4, scn.GetShadowDeckCount());
|
||||
|
||||
scn.AddWoundsToChar(frodo, 1);
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(1, scn.GetWoundsOn(frodo));
|
||||
assertEquals(1, scn.GetShadowHandCount());
|
||||
assertEquals(3, scn.GetShadowDeckCount());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void MovingDrawsNoCardsIfRingBearerUnwounded() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl frodo = scn.GetRingBearer();
|
||||
|
||||
PhysicalCardImpl eyes = scn.GetShadowCard("eyes");
|
||||
scn.ShadowMoveCardToSupportArea(eyes);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
assertEquals(0, scn.GetWoundsOn(frodo));
|
||||
assertEquals(0, scn.GetShadowHandCount());
|
||||
assertEquals(4, scn.GetShadowDeckCount());
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(0, scn.GetWoundsOn(frodo));
|
||||
assertEquals(0, scn.GetShadowHandCount());
|
||||
assertEquals(4, scn.GetShadowDeckCount());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void MovingDraws2CardsIfRingBearerExhausted() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl frodo = scn.GetRingBearer();
|
||||
|
||||
PhysicalCardImpl eyes = scn.GetShadowCard("eyes");
|
||||
scn.ShadowMoveCardToSupportArea(eyes);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
assertEquals(0, scn.GetWoundsOn(frodo));
|
||||
assertEquals(0, scn.GetShadowHandCount());
|
||||
assertEquals(4, scn.GetShadowDeckCount());
|
||||
|
||||
scn.AddWoundsToChar(frodo, 3);
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(3, scn.GetWoundsOn(frodo));
|
||||
assertEquals(2, scn.GetShadowHandCount());
|
||||
assertEquals(2, scn.GetShadowDeckCount());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -22,8 +22,18 @@ public class Card_V1_042_Tests
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<String, String>()
|
||||
{{
|
||||
put("card", "151_42");
|
||||
// put other cards in here as needed for the test case
|
||||
put("walks", "151_42");
|
||||
put("twigul1", "2_82");
|
||||
put("twigul2", "2_84");
|
||||
put("nazgul", "1_232");
|
||||
|
||||
put("filler1", "2_75");
|
||||
put("filler2", "2_75");
|
||||
|
||||
put("guard1", "1_7");
|
||||
put("guard2", "1_7");
|
||||
put("arwen", "1_30");
|
||||
put("gwemegil", "1_47");
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
@@ -31,9 +41,7 @@ public class Card_V1_042_Tests
|
||||
);
|
||||
}
|
||||
|
||||
// Uncomment both @Test markers below once this is ready to be used
|
||||
|
||||
//@Test
|
||||
@Test
|
||||
public void WalksinTwilightStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
|
||||
/**
|
||||
@@ -44,40 +52,80 @@ public class Card_V1_042_Tests
|
||||
* Twilight Cost: 2
|
||||
* Type: condition
|
||||
* Subtype: Support Area
|
||||
* Game Text: Each time a twilight Nazgul wins a skirmish, you may exert a twilight Nazgul to shuffle a [ringwraith] card from your discard pile into your draw deck.
|
||||
* Game Text: Each time a twilight Nazgul wins a skirmish, you may exert a twilight Nazgul to shuffle a [ringwraith] walks from your discard pile into your draw deck.
|
||||
*/
|
||||
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
PhysicalCardImpl walks = scn.GetFreepsCard("walks");
|
||||
|
||||
assertTrue(card.getBlueprint().isUnique());
|
||||
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
|
||||
assertEquals(Culture.WRAITH, card.getBlueprint().getCulture());
|
||||
assertEquals(CardType.CONDITION, card.getBlueprint().getCardType());
|
||||
//assertEquals(Race.CREATURE, card.getBlueprint().getRace());
|
||||
assertTrue(scn.HasKeyword(card, Keyword.SUPPORT_AREA)); // test for keywords as needed
|
||||
assertEquals(2, card.getBlueprint().getTwilightCost());
|
||||
//assertEquals(, card.getBlueprint().getStrength());
|
||||
//assertEquals(, card.getBlueprint().getVitality());
|
||||
//assertEquals(, card.getBlueprint().getResistance());
|
||||
//assertEquals(Signet., card.getBlueprint().getSignet());
|
||||
//assertEquals(, card.getBlueprint().getSiteNumber()); // Change this to getAllyHomeSiteNumbers for allies
|
||||
assertTrue(walks.getBlueprint().isUnique());
|
||||
assertEquals(Side.SHADOW, walks.getBlueprint().getSide());
|
||||
assertEquals(Culture.WRAITH, walks.getBlueprint().getCulture());
|
||||
assertEquals(CardType.CONDITION, walks.getBlueprint().getCardType());
|
||||
//assertEquals(Race.CREATURE, walks.getBlueprint().getRace());
|
||||
assertTrue(scn.HasKeyword(walks, Keyword.SUPPORT_AREA)); // test for keywords as needed
|
||||
assertEquals(2, walks.getBlueprint().getTwilightCost());
|
||||
//assertEquals(, walks.getBlueprint().getStrength());
|
||||
//assertEquals(, walks.getBlueprint().getVitality());
|
||||
//assertEquals(, walks.getBlueprint().getResistance());
|
||||
//assertEquals(Signet., walks.getBlueprint().getSignet());
|
||||
//assertEquals(, walks.getBlueprint().getSiteNumber()); // Change this to getAllyHomeSiteNumbers for allies
|
||||
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void WalksinTwilightTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
@Test
|
||||
public void EachTwigulSkirmishVictory() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
PhysicalCardImpl guard1 = scn.GetFreepsCard("guard1");
|
||||
PhysicalCardImpl guard2 = scn.GetFreepsCard("guard2");
|
||||
PhysicalCardImpl arwen = scn.GetFreepsCard("arwen");
|
||||
scn.FreepsMoveCharToTable(guard1, guard2, arwen);
|
||||
scn.FreepsAttachCardsTo(arwen, "gwemegil");
|
||||
|
||||
PhysicalCardImpl walks = scn.GetShadowCard("walks");
|
||||
PhysicalCardImpl twigul1 = scn.GetShadowCard("twigul1");
|
||||
PhysicalCardImpl twigul2 = scn.GetShadowCard("twigul2");
|
||||
PhysicalCardImpl nazgul = scn.GetShadowCard("nazgul");
|
||||
PhysicalCardImpl filler1 = scn.GetShadowCard("filler1");
|
||||
scn.ShadowMoveCardToSupportArea(walks);
|
||||
scn.ShadowMoveCharToTable(twigul1, twigul2, nazgul);
|
||||
scn.ShadowMoveCardToDiscard(filler1);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
|
||||
assertEquals(2, scn.GetTwilight());
|
||||
scn.SkipToPhase(Phase.ASSIGNMENT);
|
||||
scn.PassCurrentPhaseActions();
|
||||
|
||||
scn.FreepsAssignToMinions(
|
||||
new PhysicalCardImpl[]{guard1, twigul1},
|
||||
new PhysicalCardImpl[]{arwen, twigul2},
|
||||
new PhysicalCardImpl[]{guard2, nazgul});
|
||||
|
||||
scn.FreepsResolveSkirmish(guard1);
|
||||
scn.PassCurrentPhaseActions();
|
||||
|
||||
assertTrue(scn.ShadowHasOptionalTriggerAvailable());
|
||||
scn.ShadowAcceptOptionalTrigger();
|
||||
assertTrue(scn.ShadowDecisionAvailable(""));
|
||||
assertEquals(2, scn.GetShadowCardChoiceCount());
|
||||
assertEquals(0, scn.GetWoundsOn(twigul1));
|
||||
assertEquals(Zone.DISCARD, filler1.getZone());
|
||||
scn.ShadowChooseCard(twigul1);
|
||||
assertEquals(1, scn.GetWoundsOn(twigul1));
|
||||
assertEquals(Zone.DECK, filler1.getZone());
|
||||
|
||||
scn.FreepsResolveSkirmish(arwen);
|
||||
assertEquals(11, scn.GetStrength(arwen));
|
||||
assertEquals(10, scn.GetStrength(twigul2));
|
||||
scn.PassCurrentPhaseActions();
|
||||
assertFalse(scn.ShadowHasOptionalTriggerAvailable());
|
||||
|
||||
scn.FreepsResolveSkirmish(guard2);
|
||||
scn.PassCurrentPhaseActions();
|
||||
assertFalse(scn.ShadowHasOptionalTriggerAvailable());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,8 +22,9 @@ public class Card_V1_043_Tests
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<String, String>()
|
||||
{{
|
||||
put("card", "151_43");
|
||||
// put other cards in here as needed for the test case
|
||||
put("faces", "151_43");
|
||||
put("twigul", "2_82");
|
||||
put("wk", "2_85");
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
@@ -31,9 +32,7 @@ public class Card_V1_043_Tests
|
||||
);
|
||||
}
|
||||
|
||||
// Uncomment both @Test markers below once this is ready to be used
|
||||
|
||||
//@Test
|
||||
@Test
|
||||
public void WhiteFacesBurnedStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
|
||||
/**
|
||||
@@ -50,34 +49,80 @@ public class Card_V1_043_Tests
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
PhysicalCardImpl faces = scn.GetFreepsCard("faces");
|
||||
|
||||
assertFalse(card.getBlueprint().isUnique());
|
||||
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
|
||||
assertEquals(Culture.WRAITH, card.getBlueprint().getCulture());
|
||||
assertEquals(CardType.EVENT, card.getBlueprint().getCardType());
|
||||
//assertEquals(Race.CREATURE, card.getBlueprint().getRace());
|
||||
assertTrue(scn.HasKeyword(card, Keyword.SUPPORT_AREA)); // test for keywords as needed
|
||||
assertEquals(1, card.getBlueprint().getTwilightCost());
|
||||
//assertEquals(, card.getBlueprint().getStrength());
|
||||
//assertEquals(, card.getBlueprint().getVitality());
|
||||
//assertEquals(, card.getBlueprint().getResistance());
|
||||
//assertEquals(Signet., card.getBlueprint().getSignet());
|
||||
//assertEquals(, card.getBlueprint().getSiteNumber()); // Change this to getAllyHomeSiteNumbers for allies
|
||||
assertFalse(faces.getBlueprint().isUnique());
|
||||
assertEquals(Side.SHADOW, faces.getBlueprint().getSide());
|
||||
assertEquals(Culture.WRAITH, faces.getBlueprint().getCulture());
|
||||
assertEquals(CardType.EVENT, faces.getBlueprint().getCardType());
|
||||
//assertEquals(Race.CREATURE, faces.getBlueprint().getRace());
|
||||
assertTrue(scn.HasKeyword(faces, Keyword.SKIRMISH)); // test for keywords as needed
|
||||
assertEquals(1, faces.getBlueprint().getTwilightCost());
|
||||
//assertEquals(, faces.getBlueprint().getStrength());
|
||||
//assertEquals(, faces.getBlueprint().getVitality());
|
||||
//assertEquals(, faces.getBlueprint().getResistance());
|
||||
//assertEquals(Signet., faces.getBlueprint().getSignet());
|
||||
//assertEquals(, faces.getBlueprint().getSiteNumber()); // Change this to getAllyHomeSiteNumbers for allies
|
||||
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void WhiteFacesBurnedTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
@Test
|
||||
public void FacesAddsOneStrengthPerWoundOnTheRB() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
PhysicalCardImpl frodo = scn.GetRingBearer();
|
||||
|
||||
PhysicalCardImpl faces = scn.GetShadowCard("faces");
|
||||
PhysicalCardImpl twigul = scn.GetShadowCard("twigul");
|
||||
scn.ShadowMoveCharToTable(twigul);
|
||||
scn.ShadowMoveCardToHand(faces);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
|
||||
assertEquals(1, scn.GetTwilight());
|
||||
scn.AddWoundsToChar(frodo, 3);
|
||||
|
||||
scn.SkipToPhase(Phase.ASSIGNMENT);
|
||||
scn.PassCurrentPhaseActions();
|
||||
scn.FreepsAssignToMinions(frodo, twigul);
|
||||
scn.FreepsResolveSkirmish(frodo);
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(12, scn.GetStrength(twigul));
|
||||
assertEquals(3, scn.GetWoundsOn(frodo));
|
||||
assertTrue(scn.ShadowCardPlayAvailable(faces));
|
||||
scn.ShadowPlayCard(faces);
|
||||
assertEquals(15, scn.GetStrength(twigul));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void FacesMakesWitchKingDamagePlusOne() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl frodo = scn.GetRingBearer();
|
||||
|
||||
PhysicalCardImpl faces = scn.GetShadowCard("faces");
|
||||
PhysicalCardImpl wk = scn.GetShadowCard("wk");
|
||||
scn.ShadowMoveCharToTable(wk);
|
||||
scn.ShadowMoveCardToHand(faces);
|
||||
|
||||
scn.StartGame();
|
||||
|
||||
scn.SkipToPhase(Phase.ASSIGNMENT);
|
||||
scn.PassCurrentPhaseActions();
|
||||
scn.FreepsAssignToMinions(frodo, wk);
|
||||
scn.FreepsResolveSkirmish(frodo);
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(14, scn.GetStrength(wk));
|
||||
assertFalse(scn.HasKeyword(wk, Keyword.DAMAGE));
|
||||
assertEquals(0, scn.GetWoundsOn(frodo));
|
||||
assertTrue(scn.ShadowCardPlayAvailable(faces));
|
||||
|
||||
scn.ShadowPlayCard(faces);
|
||||
assertEquals(14, scn.GetStrength(wk));
|
||||
assertTrue(scn.HasKeyword(wk, Keyword.DAMAGE));
|
||||
assertEquals(1, scn.GetKeywordCount(wk, Keyword.DAMAGE));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user