Adding errata test cases for the three elf allies
This commit is contained in:
@@ -10,6 +10,7 @@ import java.util.HashMap;
|
|||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
|
||||||
public class Card_03_014_ErrataTests
|
public class Card_03_014_ErrataTests
|
||||||
{
|
{
|
||||||
@@ -18,8 +19,13 @@ public class Card_03_014_ErrataTests
|
|||||||
return new GenericCardTestHelper(
|
return new GenericCardTestHelper(
|
||||||
new HashMap<>()
|
new HashMap<>()
|
||||||
{{
|
{{
|
||||||
put("card", "53_14");
|
put("erestor", "53_14");
|
||||||
// put other cards in here as needed for the test case
|
put("arwen", "3_7");
|
||||||
|
|
||||||
|
put("enquea", "1_231");
|
||||||
|
put("hate", "1_250");
|
||||||
|
put("orc", "1_271");
|
||||||
|
|
||||||
}},
|
}},
|
||||||
GenericCardTestHelper.FellowshipSites,
|
GenericCardTestHelper.FellowshipSites,
|
||||||
GenericCardTestHelper.FOTRFrodo,
|
GenericCardTestHelper.FOTRFrodo,
|
||||||
@@ -47,7 +53,7 @@ public class Card_03_014_ErrataTests
|
|||||||
|
|
||||||
var scn = GetScenario();
|
var scn = GetScenario();
|
||||||
|
|
||||||
var card = scn.GetFreepsCard("card");
|
var card = scn.GetFreepsCard("erestor");
|
||||||
|
|
||||||
assertEquals("Erestor", card.getBlueprint().getTitle());
|
assertEquals("Erestor", card.getBlueprint().getTitle());
|
||||||
assertEquals("Chief Advisor to Elrond", card.getBlueprint().getSubtitle());
|
assertEquals("Chief Advisor to Elrond", card.getBlueprint().getSubtitle());
|
||||||
@@ -62,29 +68,147 @@ public class Card_03_014_ErrataTests
|
|||||||
assertTrue(card.getBlueprint().hasAllyHome(new AllyHome(SitesBlock.FELLOWSHIP, 3)));
|
assertTrue(card.getBlueprint().hasAllyHome(new AllyHome(SitesBlock.FELLOWSHIP, 3)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Uncomment any @Test markers below once this is ready to be used
|
@Test
|
||||||
//@Test
|
public void ErestorSpotsAnElfToPlay() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
public void ErestorTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
|
||||||
//Pre-game setup
|
//Pre-game setup
|
||||||
var scn = GetScenario();
|
var scn = GetScenario();
|
||||||
|
|
||||||
var card = scn.GetFreepsCard("card");
|
var erestor = scn.GetFreepsCard("erestor");
|
||||||
scn.FreepsMoveCardToHand(card);
|
var arwen = scn.GetFreepsCard("arwen");
|
||||||
scn.FreepsMoveCharToTable(card);
|
scn.FreepsMoveCardToHand(arwen, erestor);
|
||||||
scn.FreepsMoveCardToSupportArea(card);
|
|
||||||
scn.FreepsMoveCardToDiscard(card);
|
|
||||||
scn.FreepsMoveCardsToTopOfDeck(card);
|
|
||||||
|
|
||||||
// var card = scn.GetShadowCard("card");
|
|
||||||
// scn.ShadowMoveCardToHand(card);
|
|
||||||
// scn.ShadowMoveCharToTable(card);
|
|
||||||
// scn.ShadowMoveCardToSupportArea(card);
|
|
||||||
// scn.ShadowMoveCardToDiscard(card);
|
|
||||||
// scn.ShadowMoveCardsToTopOfDeck(card);
|
|
||||||
|
|
||||||
scn.StartGame();
|
scn.StartGame();
|
||||||
scn.FreepsPlayCard(card);
|
|
||||||
|
|
||||||
assertEquals(2, scn.GetTwilight());
|
assertFalse(scn.FreepsPlayAvailable(erestor));
|
||||||
|
scn.FreepsPlayCard(arwen);
|
||||||
|
assertTrue(scn.FreepsPlayAvailable(erestor));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void ErestorCanBlockEnquea() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
|
//Pre-game setup
|
||||||
|
var scn = GetScenario();
|
||||||
|
|
||||||
|
var erestor = scn.GetFreepsCard("erestor");
|
||||||
|
var arwen = scn.GetFreepsCard("arwen");
|
||||||
|
scn.FreepsMoveCharToTable(arwen);
|
||||||
|
scn.FreepsMoveCardToSupportArea(erestor);
|
||||||
|
|
||||||
|
var enquea = scn.GetShadowCard("enquea");
|
||||||
|
scn.ShadowMoveCharToTable(enquea);
|
||||||
|
|
||||||
|
scn.StartGame();
|
||||||
|
scn.AddBurdens(5);
|
||||||
|
|
||||||
|
scn.SkipToPhase(Phase.MANEUVER);
|
||||||
|
scn.FreepsPassCurrentPhaseAction();
|
||||||
|
|
||||||
|
assertEquals(0, scn.GetWoundsOn(erestor));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(arwen));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(enquea));
|
||||||
|
scn.ShadowUseCardAction(enquea);
|
||||||
|
|
||||||
|
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||||
|
scn.FreepsAcceptOptionalTrigger();
|
||||||
|
assertEquals(1, scn.GetWoundsOn(erestor));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(arwen));
|
||||||
|
assertEquals(1, scn.GetWoundsOn(enquea));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void ErestorCanBlockEnqueaSkirmishWin() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
|
//Pre-game setup
|
||||||
|
var scn = GetScenario();
|
||||||
|
|
||||||
|
var erestor = scn.GetFreepsCard("erestor");
|
||||||
|
var arwen = scn.GetFreepsCard("arwen");
|
||||||
|
scn.FreepsMoveCharToTable(arwen);
|
||||||
|
scn.FreepsMoveCardToSupportArea(erestor);
|
||||||
|
|
||||||
|
var enquea = scn.GetShadowCard("enquea");
|
||||||
|
scn.ShadowMoveCharToTable(enquea);
|
||||||
|
|
||||||
|
scn.StartGame();
|
||||||
|
scn.AddBurdens(5);
|
||||||
|
|
||||||
|
scn.SkipToAssignments();
|
||||||
|
scn.FreepsAssignAndResolve(arwen, enquea);
|
||||||
|
|
||||||
|
assertEquals(0, scn.GetWoundsOn(erestor));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(arwen));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(enquea));
|
||||||
|
scn.PassSkirmishActions();
|
||||||
|
|
||||||
|
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||||
|
scn.FreepsAcceptOptionalTrigger();
|
||||||
|
assertEquals(1, scn.GetWoundsOn(erestor));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(arwen));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(enquea));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void ErestorCanBlockHate() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
|
//Pre-game setup
|
||||||
|
var scn = GetScenario();
|
||||||
|
|
||||||
|
var erestor = scn.GetFreepsCard("erestor");
|
||||||
|
var arwen = scn.GetFreepsCard("arwen");
|
||||||
|
scn.FreepsMoveCharToTable(arwen);
|
||||||
|
scn.FreepsMoveCardToSupportArea(erestor);
|
||||||
|
|
||||||
|
var hate = scn.GetShadowCard("hate");
|
||||||
|
var orc = scn.GetShadowCard("orc");
|
||||||
|
|
||||||
|
scn.ShadowMoveCharToTable(orc);
|
||||||
|
scn.ShadowMoveCardToHand(hate);
|
||||||
|
|
||||||
|
scn.StartGame();
|
||||||
|
|
||||||
|
scn.SkipToPhase(Phase.MANEUVER);
|
||||||
|
scn.FreepsPassCurrentPhaseAction();
|
||||||
|
|
||||||
|
assertEquals(0, scn.GetWoundsOn(erestor));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(arwen));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(orc));
|
||||||
|
scn.ShadowPlayCard(hate);
|
||||||
|
|
||||||
|
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||||
|
scn.FreepsAcceptOptionalTrigger();
|
||||||
|
assertEquals(1, scn.GetWoundsOn(erestor));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(arwen));
|
||||||
|
assertEquals(1, scn.GetWoundsOn(orc));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void ErestorCanBlockSauronOrcSkirmishWin() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
|
//Pre-game setup
|
||||||
|
var scn = GetScenario();
|
||||||
|
|
||||||
|
var erestor = scn.GetFreepsCard("erestor");
|
||||||
|
var arwen = scn.GetFreepsCard("arwen");
|
||||||
|
scn.FreepsMoveCharToTable(arwen);
|
||||||
|
scn.FreepsMoveCardToSupportArea(erestor);
|
||||||
|
|
||||||
|
var orc = scn.GetShadowCard("orc");
|
||||||
|
scn.ShadowMoveCharToTable(orc);
|
||||||
|
|
||||||
|
scn.StartGame();
|
||||||
|
scn.AddBurdens(5);
|
||||||
|
|
||||||
|
scn.SkipToAssignments();
|
||||||
|
scn.FreepsAssignAndResolve(arwen, orc);
|
||||||
|
|
||||||
|
assertEquals(0, scn.GetWoundsOn(erestor));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(arwen));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(orc));
|
||||||
|
scn.PassSkirmishActions();
|
||||||
|
|
||||||
|
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||||
|
scn.FreepsAcceptOptionalTrigger();
|
||||||
|
assertEquals(1, scn.GetWoundsOn(erestor));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(arwen));
|
||||||
|
assertEquals(0, scn.GetWoundsOn(orc));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,8 +8,7 @@ import org.junit.Test;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.*;
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
public class Card_03_020_ErrataTests
|
public class Card_03_020_ErrataTests
|
||||||
{
|
{
|
||||||
@@ -18,8 +17,15 @@ public class Card_03_020_ErrataTests
|
|||||||
return new GenericCardTestHelper(
|
return new GenericCardTestHelper(
|
||||||
new HashMap<>()
|
new HashMap<>()
|
||||||
{{
|
{{
|
||||||
put("card", "53_20");
|
put("golradir", "53_20");
|
||||||
// put other cards in here as needed for the test case
|
put("erestor", "53_14");
|
||||||
|
put("saelbeth", "53_25");
|
||||||
|
put("arwen", "3_7");
|
||||||
|
|
||||||
|
put("nazgul", "12_161");
|
||||||
|
put("uruk", "1_151");
|
||||||
|
put("orc", "1_178");
|
||||||
|
|
||||||
}},
|
}},
|
||||||
GenericCardTestHelper.FellowshipSites,
|
GenericCardTestHelper.FellowshipSites,
|
||||||
GenericCardTestHelper.FOTRFrodo,
|
GenericCardTestHelper.FOTRFrodo,
|
||||||
@@ -47,7 +53,7 @@ public class Card_03_020_ErrataTests
|
|||||||
|
|
||||||
var scn = GetScenario();
|
var scn = GetScenario();
|
||||||
|
|
||||||
var card = scn.GetFreepsCard("card");
|
var card = scn.GetFreepsCard("golradir");
|
||||||
|
|
||||||
assertEquals("Golradir", card.getBlueprint().getTitle());
|
assertEquals("Golradir", card.getBlueprint().getTitle());
|
||||||
assertEquals("Councilor of Imladris", card.getBlueprint().getSubtitle());
|
assertEquals("Councilor of Imladris", card.getBlueprint().getSubtitle());
|
||||||
@@ -62,29 +68,81 @@ public class Card_03_020_ErrataTests
|
|||||||
assertTrue(card.getBlueprint().hasAllyHome(new AllyHome(SitesBlock.FELLOWSHIP, 3)));
|
assertTrue(card.getBlueprint().hasAllyHome(new AllyHome(SitesBlock.FELLOWSHIP, 3)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Uncomment any @Test markers below once this is ready to be used
|
@Test
|
||||||
//@Test
|
public void GolradirSpotsAnElfToPlay() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
public void GolradirTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
|
||||||
//Pre-game setup
|
//Pre-game setup
|
||||||
var scn = GetScenario();
|
var scn = GetScenario();
|
||||||
|
|
||||||
var card = scn.GetFreepsCard("card");
|
var golradir = scn.GetFreepsCard("golradir");
|
||||||
scn.FreepsMoveCardToHand(card);
|
var erestor = scn.GetFreepsCard("erestor");
|
||||||
scn.FreepsMoveCharToTable(card);
|
var saelbeth = scn.GetFreepsCard("saelbeth");
|
||||||
scn.FreepsMoveCardToSupportArea(card);
|
var arwen = scn.GetFreepsCard("arwen");
|
||||||
scn.FreepsMoveCardToDiscard(card);
|
scn.FreepsMoveCardToHand(arwen, golradir);
|
||||||
scn.FreepsMoveCardsToTopOfDeck(card);
|
|
||||||
|
|
||||||
// var card = scn.GetShadowCard("card");
|
|
||||||
// scn.ShadowMoveCardToHand(card);
|
|
||||||
// scn.ShadowMoveCharToTable(card);
|
|
||||||
// scn.ShadowMoveCardToSupportArea(card);
|
|
||||||
// scn.ShadowMoveCardToDiscard(card);
|
|
||||||
// scn.ShadowMoveCardsToTopOfDeck(card);
|
|
||||||
|
|
||||||
scn.StartGame();
|
scn.StartGame();
|
||||||
scn.FreepsPlayCard(card);
|
|
||||||
|
|
||||||
assertEquals(2, scn.GetTwilight());
|
assertFalse(scn.FreepsPlayAvailable(golradir));
|
||||||
|
scn.FreepsPlayCard(arwen);
|
||||||
|
assertTrue(scn.FreepsPlayAvailable(golradir));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void GolradirExertsToMakeANonOrcStrengthMinus1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
|
//Pre-game setup
|
||||||
|
var scn = GetScenario();
|
||||||
|
|
||||||
|
var golradir = scn.GetFreepsCard("golradir");
|
||||||
|
var erestor = scn.GetFreepsCard("erestor");
|
||||||
|
var saelbeth = scn.GetFreepsCard("saelbeth");
|
||||||
|
var arwen = scn.GetFreepsCard("arwen");
|
||||||
|
scn.FreepsMoveCharToTable(arwen, golradir);
|
||||||
|
|
||||||
|
var nazgul = scn.GetShadowCard("nazgul");
|
||||||
|
scn.ShadowMoveCharToTable(nazgul);
|
||||||
|
|
||||||
|
scn.StartGame();
|
||||||
|
|
||||||
|
scn.SkipToAssignments();
|
||||||
|
scn.FreepsAssignAndResolve(arwen, nazgul);
|
||||||
|
|
||||||
|
assertEquals(0, scn.GetWoundsOn(golradir));
|
||||||
|
assertEquals(10, scn.GetStrength(nazgul));
|
||||||
|
assertTrue(scn.FreepsActionAvailable(golradir));
|
||||||
|
|
||||||
|
scn.FreepsUseCardAction(golradir);
|
||||||
|
assertEquals(1, scn.GetWoundsOn(golradir));
|
||||||
|
assertEquals(9, scn.GetStrength(nazgul));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void GolradirExertsToMakeAnOrcStrengthMinus1PerElf() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
|
//Pre-game setup
|
||||||
|
var scn = GetScenario();
|
||||||
|
|
||||||
|
var golradir = scn.GetFreepsCard("golradir");
|
||||||
|
var erestor = scn.GetFreepsCard("erestor");
|
||||||
|
var saelbeth = scn.GetFreepsCard("saelbeth");
|
||||||
|
var arwen = scn.GetFreepsCard("arwen");
|
||||||
|
scn.FreepsMoveCharToTable(arwen);
|
||||||
|
scn.FreepsMoveCardToSupportArea(golradir, erestor, saelbeth);
|
||||||
|
|
||||||
|
var orc = scn.GetShadowCard("orc");
|
||||||
|
scn.ShadowMoveCharToTable(orc);
|
||||||
|
|
||||||
|
scn.StartGame();
|
||||||
|
|
||||||
|
scn.SkipToAssignments();
|
||||||
|
scn.FreepsAssignAndResolve(arwen, orc);
|
||||||
|
|
||||||
|
assertEquals(0, scn.GetWoundsOn(golradir));
|
||||||
|
assertEquals(5, scn.GetStrength(orc));
|
||||||
|
assertTrue(scn.FreepsActionAvailable(golradir));
|
||||||
|
|
||||||
|
scn.FreepsUseCardAction(golradir);
|
||||||
|
assertEquals(1, scn.GetWoundsOn(golradir));
|
||||||
|
// -4 for 4 elves
|
||||||
|
assertEquals(1, scn.GetStrength(orc));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,8 +8,7 @@ import org.junit.Test;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.*;
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
public class Card_03_025_ErrataTests
|
public class Card_03_025_ErrataTests
|
||||||
{
|
{
|
||||||
@@ -18,8 +17,15 @@ public class Card_03_025_ErrataTests
|
|||||||
return new GenericCardTestHelper(
|
return new GenericCardTestHelper(
|
||||||
new HashMap<>()
|
new HashMap<>()
|
||||||
{{
|
{{
|
||||||
put("card", "53_25");
|
put("golradir", "53_20");
|
||||||
// put other cards in here as needed for the test case
|
put("erestor", "53_14");
|
||||||
|
put("saelbeth", "53_25");
|
||||||
|
put("arwen", "3_7");
|
||||||
|
|
||||||
|
put("nazgul", "12_161");
|
||||||
|
put("uruk", "1_151");
|
||||||
|
put("orc", "1_178");
|
||||||
|
|
||||||
}},
|
}},
|
||||||
GenericCardTestHelper.FellowshipSites,
|
GenericCardTestHelper.FellowshipSites,
|
||||||
GenericCardTestHelper.FOTRFrodo,
|
GenericCardTestHelper.FOTRFrodo,
|
||||||
@@ -48,7 +54,7 @@ public class Card_03_025_ErrataTests
|
|||||||
|
|
||||||
var scn = GetScenario();
|
var scn = GetScenario();
|
||||||
|
|
||||||
var card = scn.GetFreepsCard("card");
|
var card = scn.GetFreepsCard("saelbeth");
|
||||||
|
|
||||||
assertEquals("Saelbeth", card.getBlueprint().getTitle());
|
assertEquals("Saelbeth", card.getBlueprint().getTitle());
|
||||||
assertEquals("Elven Councilor", card.getBlueprint().getSubtitle());
|
assertEquals("Elven Councilor", card.getBlueprint().getSubtitle());
|
||||||
@@ -63,29 +69,79 @@ public class Card_03_025_ErrataTests
|
|||||||
assertTrue(card.getBlueprint().hasAllyHome(new AllyHome(SitesBlock.FELLOWSHIP, 3)));
|
assertTrue(card.getBlueprint().hasAllyHome(new AllyHome(SitesBlock.FELLOWSHIP, 3)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Uncomment any @Test markers below once this is ready to be used
|
@Test
|
||||||
//@Test
|
public void SaelbethSpotsAnElfToPlay() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
public void SaelbethTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
|
||||||
//Pre-game setup
|
//Pre-game setup
|
||||||
var scn = GetScenario();
|
var scn = GetScenario();
|
||||||
|
|
||||||
var card = scn.GetFreepsCard("card");
|
var golradir = scn.GetFreepsCard("golradir");
|
||||||
scn.FreepsMoveCardToHand(card);
|
var erestor = scn.GetFreepsCard("erestor");
|
||||||
scn.FreepsMoveCharToTable(card);
|
var saelbeth = scn.GetFreepsCard("saelbeth");
|
||||||
scn.FreepsMoveCardToSupportArea(card);
|
var arwen = scn.GetFreepsCard("arwen");
|
||||||
scn.FreepsMoveCardToDiscard(card);
|
scn.FreepsMoveCardToHand(arwen, saelbeth);
|
||||||
scn.FreepsMoveCardsToTopOfDeck(card);
|
|
||||||
|
|
||||||
// var card = scn.GetShadowCard("card");
|
|
||||||
// scn.ShadowMoveCardToHand(card);
|
|
||||||
// scn.ShadowMoveCharToTable(card);
|
|
||||||
// scn.ShadowMoveCardToSupportArea(card);
|
|
||||||
// scn.ShadowMoveCardToDiscard(card);
|
|
||||||
// scn.ShadowMoveCardsToTopOfDeck(card);
|
|
||||||
|
|
||||||
scn.StartGame();
|
scn.StartGame();
|
||||||
scn.FreepsPlayCard(card);
|
|
||||||
|
|
||||||
assertEquals(2, scn.GetTwilight());
|
assertFalse(scn.FreepsPlayAvailable(saelbeth));
|
||||||
|
scn.FreepsPlayCard(arwen);
|
||||||
|
assertTrue(scn.FreepsPlayAvailable(saelbeth));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void SaelbethExertsToMakeANonUrukStrengthMinus1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
|
//Pre-game setup
|
||||||
|
var scn = GetScenario();
|
||||||
|
|
||||||
|
var golradir = scn.GetFreepsCard("golradir");
|
||||||
|
var erestor = scn.GetFreepsCard("erestor");
|
||||||
|
var saelbeth = scn.GetFreepsCard("saelbeth");
|
||||||
|
var arwen = scn.GetFreepsCard("arwen");
|
||||||
|
scn.FreepsMoveCharToTable(arwen, saelbeth);
|
||||||
|
|
||||||
|
var nazgul = scn.GetShadowCard("nazgul");
|
||||||
|
scn.ShadowMoveCharToTable(nazgul);
|
||||||
|
|
||||||
|
scn.StartGame();
|
||||||
|
|
||||||
|
scn.SkipToAssignments();
|
||||||
|
scn.FreepsAssignAndResolve(arwen, nazgul);
|
||||||
|
|
||||||
|
assertEquals(0, scn.GetWoundsOn(saelbeth));
|
||||||
|
assertEquals(10, scn.GetStrength(nazgul));
|
||||||
|
assertTrue(scn.FreepsActionAvailable(saelbeth));
|
||||||
|
|
||||||
|
scn.FreepsUseCardAction(saelbeth);
|
||||||
|
assertEquals(1, scn.GetWoundsOn(saelbeth));
|
||||||
|
assertEquals(9, scn.GetStrength(nazgul));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void SaelbethExertsToMakeAnOrcStrengthMinus1PerElf() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
|
//Pre-game setup
|
||||||
|
var scn = GetScenario();
|
||||||
|
|
||||||
|
var golradir = scn.GetFreepsCard("golradir");
|
||||||
|
var erestor = scn.GetFreepsCard("erestor");
|
||||||
|
var saelbeth = scn.GetFreepsCard("saelbeth");
|
||||||
|
var arwen = scn.GetFreepsCard("arwen");
|
||||||
|
scn.FreepsMoveCharToTable(arwen);
|
||||||
|
scn.FreepsMoveCardToSupportArea(golradir, erestor, saelbeth);
|
||||||
|
|
||||||
|
var uruk = scn.GetShadowCard("uruk");
|
||||||
|
scn.ShadowMoveCharToTable(uruk);
|
||||||
|
|
||||||
|
scn.StartGame();
|
||||||
|
|
||||||
|
scn.SkipToAssignments();
|
||||||
|
scn.FreepsAssignAndResolve(arwen, uruk);
|
||||||
|
|
||||||
|
assertEquals(0, scn.GetWoundsOn(saelbeth));
|
||||||
|
assertEquals(5, scn.GetStrength(uruk));
|
||||||
|
assertTrue(scn.FreepsActionAvailable(saelbeth));
|
||||||
|
|
||||||
|
scn.FreepsUseCardAction(saelbeth);
|
||||||
|
assertEquals(1, scn.GetWoundsOn(saelbeth));
|
||||||
|
// -4 for 4 elves
|
||||||
|
assertEquals(1, scn.GetStrength(uruk));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user