Skip to content

Commit

Permalink
More test fixing.
Browse files Browse the repository at this point in the history
  • Loading branch information
asvitkine committed Jul 13, 2023
1 parent 3366181 commit 8ac3a17
Showing 1 changed file with 35 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ public static Unit givenUnitCanEvade() {

public static Unit givenUnitFirstStrike() {
final UnitAndAttachment unitAndAttachment = newUnitAndAttachment();
when(unitAndAttachment.unitAttachment.getIsFirstStrike()).thenReturn(true);
lenient().when(unitAndAttachment.unitAttachment.getIsFirstStrike()).thenReturn(true);
return unitAndAttachment.unit;
}

Expand All @@ -135,6 +135,13 @@ public static Unit givenSeaUnitFirstStrikeSuicideOnDefense() {
return unitAndAttachment.unit;
}

public static Unit givenUnitFirstStrikeAndEvade() {
final UnitAndAttachment unitAndAttachment = newUnitAndAttachment();
when(unitAndAttachment.unitAttachment.getIsFirstStrike()).thenReturn(true);
when(unitAndAttachment.unitAttachment.getCanEvade()).thenReturn(true);
return unitAndAttachment.unit;
}

public static Unit givenSeaUnitFirstStrikeAndEvade() {
final UnitAndAttachment unitAndAttachment = newSeaUnitAndAttachment();
when(unitAndAttachment.unitAttachment.getIsFirstStrike()).thenReturn(true);
Expand Down Expand Up @@ -770,14 +777,15 @@ void defendingSubsRetreatIfCanNotRetreatBeforeBattle() {
"Verify defending firstStrike submerge before battle "
+ "if SUB_RETREAT_BEFORE_BATTLE and SUBMERSIBLE_SUBS are true")
void defendingFirstStrikeSubmergeBeforeBattleIfSubmersibleSubsAndRetreatBeforeBattle() {
final Unit unit1 = givenAnyUnit();
final Unit unit1 = givenUnitIsSea();
final Unit unit2 = givenSeaUnitFirstStrikeAndEvade();

final List<String> steps =
givenBattleSteps(
givenBattleStateBuilder()
.gameData(
givenGameData()
.withTransportCasualtiesRestricted(false)
.withCaptureUnitsOnEnteringTerritory(false)
.withSubRetreatBeforeBattle(true)
.withSubmersibleSubs(true)
Expand All @@ -790,7 +798,7 @@ void defendingFirstStrikeSubmergeBeforeBattleIfSubmersibleSubsAndRetreatBeforeBa
.defender(defender)
.attackingUnits(List.of(unit1))
.defendingUnits(List.of(unit2))
.battleSite(battleSite)
.battleSite(givenSeaBattleSite())
.build());

assertThat(
Expand Down Expand Up @@ -961,6 +969,7 @@ void attackingFirstStrikeWithDestroyers() {
givenBattleStateBuilder()
.gameData(
givenGameData()
.withTransportCasualtiesRestricted(false)
.withWW2V2(false)
.withDefendingSuicideAndMunitionUnitsDoNotFire(false)
.withSubRetreatBeforeBattle(false)
Expand All @@ -970,7 +979,7 @@ void attackingFirstStrikeWithDestroyers() {
.defender(defender)
.attackingUnits(List.of(unit1))
.defendingUnits(List.of(unit2))
.battleSite(battleSite)
.battleSite(givenSeaBattleSite())
.build());

assertThat(
Expand All @@ -988,7 +997,7 @@ void attackingFirstStrikeWithDestroyers() {
+ "(no other attackers, no special defenders, all options false)")
void defendingFirstStrikeBasic() {
final Unit unit1 = givenAnyUnit();
final Unit unit2 = givenSeaUnitFirstStrikeAndEvade();
final Unit unit2 = givenUnitFirstStrikeAndEvade();

final List<String> steps =
givenBattleSteps(
Expand Down Expand Up @@ -1020,7 +1029,7 @@ void defendingFirstStrikeBasic() {
@Test
@DisplayName("Verify defender firstStrike with DEFENDING_SUBS_SNEAK_ATTACK true")
void defendingFirstStrikeWithSneakAttackAllowed() {
final Unit unit1 = givenAnyUnit();
final Unit unit1 = givenUnitIsSea();
final Unit unit2 = givenSeaUnitFirstStrikeAndEvade();

final List<String> steps =
Expand All @@ -1040,7 +1049,7 @@ void defendingFirstStrikeWithSneakAttackAllowed() {
.defender(defender)
.attackingUnits(List.of(unit1))
.defendingUnits(List.of(unit2))
.battleSite(battleSite)
.battleSite(givenSeaBattleSite())
.build());

assertThat(
Expand All @@ -1057,7 +1066,7 @@ void defendingFirstStrikeWithSneakAttackAllowed() {
@DisplayName("Verify defender firstStrike with WW2v2 true")
void defendingFirstStrikeWithWW2v2() {
final Unit unit1 = givenAnyUnit();
final Unit unit2 = givenSeaUnitFirstStrikeAndEvade();
final Unit unit2 = givenUnitFirstStrikeAndEvade();

final List<String> steps =
givenBattleSteps(
Expand Down Expand Up @@ -1110,7 +1119,7 @@ void defendingFirstStrikeWithWW2v2AndDestroyers() {
.defender(defender)
.attackingUnits(List.of(unit1))
.defendingUnits(List.of(unit2))
.battleSite(battleSite)
.battleSite(givenSeaBattleSite())
.build());

assertThat(
Expand All @@ -1127,8 +1136,8 @@ void defendingFirstStrikeWithWW2v2AndDestroyers() {
"Verify basic attacker and defender firstStrikes "
+ "(no other attackers, no special defenders, all options false)")
void attackingDefendingFirstStrikeBasic() {
final Unit unit1 = givenSeaUnitFirstStrikeAndEvade();
final Unit unit2 = givenSeaUnitFirstStrikeAndEvade();
final Unit unit1 = givenUnitFirstStrikeAndEvade();
final Unit unit2 = givenUnitFirstStrikeAndEvade();

final List<String> steps =
givenBattleSteps(
Expand Down Expand Up @@ -1595,7 +1604,7 @@ void defendingFirstStrikeVsAirWithOtherUnits() {
@DisplayName("Verify attacking firstStrike can submerge if SUBMERSIBLE_SUBS is true")
void attackingFirstStrikeCanSubmergeIfSubmersibleSubs() {
final Unit unit1 = givenSeaUnitFirstStrikeAndEvade();
final Unit unit2 = givenAnyUnit();
final Unit unit2 = givenUnitIsSea();

final List<String> steps =
givenBattleSteps(
Expand All @@ -1614,7 +1623,7 @@ void attackingFirstStrikeCanSubmergeIfSubmersibleSubs() {
.defender(defender)
.attackingUnits(List.of(unit1))
.defendingUnits(List.of(unit2))
.battleSite(battleSite)
.battleSite(givenSeaBattleSite())
.build());

assertThat(
Expand All @@ -1630,7 +1639,7 @@ void attackingFirstStrikeCanSubmergeIfSubmersibleSubs() {
@Test
@DisplayName("Verify defending firstStrike can submerge if SUBMERSIBLE_SUBS is true")
void defendingFirstStrikeCanSubmergeIfSubmersibleSubs() {
final Unit unit1 = givenAnyUnit();
final Unit unit1 = givenUnitIsSea();
final Unit unit2 = givenSeaUnitFirstStrikeAndEvade();

final List<String> steps =
Expand All @@ -1651,7 +1660,7 @@ void defendingFirstStrikeCanSubmergeIfSubmersibleSubs() {
.defender(defender)
.attackingUnits(List.of(unit1))
.defendingUnits(List.of(unit2))
.battleSite(battleSite)
.battleSite(givenSeaBattleSite())
.build());

assertThat(
Expand Down Expand Up @@ -1688,7 +1697,7 @@ void defendingFirstStrikeCanSubmergeIfSubmersibleSubsAndDestroyers() {
.defender(defender)
.attackingUnits(List.of(unit1))
.defendingUnits(List.of(unit2))
.battleSite(battleSite)
.battleSite(givenSeaBattleSite())
.build());

assertThat(
Expand Down Expand Up @@ -1785,6 +1794,7 @@ void attackingFirstStrikeNoWithdrawIfDestroyers() {
givenBattleStateBuilder()
.gameData(
givenGameData()
.withTransportCasualtiesRestricted(false)
.withWW2V2(false)
.withDefendingSuicideAndMunitionUnitsDoNotFire(false)
.withSubRetreatBeforeBattle(false)
Expand All @@ -1795,7 +1805,7 @@ void attackingFirstStrikeNoWithdrawIfDestroyers() {
.attackingUnits(List.of(unit1))
.defendingUnits(List.of(unit2))
.attackerRetreatTerritories(List.of(battleSite))
.battleSite(battleSite)
.battleSite(givenSeaBattleSite())
.build());

assertThat(
Expand Down Expand Up @@ -1852,9 +1862,10 @@ void attackingFirstStrikeWithdrawIfNonRestrictedDefenselessTransports() {
@Test
@DisplayName("Verify defending firstStrike can withdraw when SUBMERSIBLE_SUBS is false")
void defendingFirstStrikeWithdrawIfAble() {
final Unit unit1 = givenAnyUnit();
final Unit unit1 = givenUnitIsSea();
final Unit unit2 = givenSeaUnitFirstStrikeAndEvade();

final Territory battleTerritory = givenSeaBattleSite();
final Territory retreatTerritory = mock(Territory.class);
when(retreatTerritory.isWater()).thenReturn(true);
when(retreatTerritory.getUnitCollection()).thenReturn(mock(UnitCollection.class));
Expand All @@ -1864,7 +1875,8 @@ void defendingFirstStrikeWithdrawIfAble() {
givenBattleStateBuilder()
.gameData(
givenGameData()
.withTerritoryHasNeighbors(battleSite, Set.of(retreatTerritory))
.withTransportCasualtiesRestricted(false)
.withTerritoryHasNeighbors(battleTerritory, Set.of(retreatTerritory))
.withDefendingSuicideAndMunitionUnitsDoNotFire(false)
.withWW2V2(false)
.withDefendingSubsSneakAttack(false)
Expand All @@ -1875,7 +1887,7 @@ void defendingFirstStrikeWithdrawIfAble() {
.defender(defender)
.attackingUnits(List.of(unit1))
.defendingUnits(List.of(unit2))
.battleSite(battleSite)
.battleSite(battleTerritory)
.build());

assertThat(
Expand All @@ -1893,7 +1905,7 @@ void defendingFirstStrikeWithdrawIfAble() {
+ "SUBMERSIBLE_SUBS is false and no retreat territories")
void defendingFirstStrikeNoWithdrawIfEmptyTerritories() {
final Unit unit1 = givenAnyUnit();
final Unit unit2 = givenSeaUnitFirstStrikeAndEvade();
final Unit unit2 = givenUnitFirstStrikeAndEvade();

final List<String> steps =
givenBattleSteps(
Expand Down Expand Up @@ -1935,6 +1947,7 @@ void defendingFirstStrikeNoWithdrawIfDestroyers() {
givenBattleStateBuilder()
.gameData(
givenGameData()
.withTransportCasualtiesRestricted(false)
.withDefendingSuicideAndMunitionUnitsDoNotFire(false)
.withWW2V2(false)
.withSubRetreatBeforeBattle(false)
Expand All @@ -1944,7 +1957,7 @@ void defendingFirstStrikeNoWithdrawIfDestroyers() {
.defender(defender)
.attackingUnits(List.of(unit1))
.defendingUnits(List.of(unit2))
.battleSite(battleSite)
.battleSite(givenSeaBattleSite())
.build());

assertThat(
Expand Down

0 comments on commit 8ac3a17

Please sign in to comment.