Class BattleValidatorTests

java.lang.Object
com.pixelmonmod.pixelmon.api.test.impl.mechanics.BattleValidatorTests

public class BattleValidatorTests extends Object
  • Constructor Details

    • BattleValidatorTests

      public BattleValidatorTests()
  • Method Details

    • testRampageMovesShouldNotCrashByBeingDisabledMidMove

      public static CompletableFuture<TestResult> testRampageMovesShouldNotCrashByBeingDisabledMidMove(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will not trigger the "selected a disabled move" check if disabled mid-move.

      In this test, a Dratini that knows Outrage faces off against a Gengar that knows Endure. - Turn 1 The Gengar braces itself with Endure. The Dratini attacks the Gengar with Outrage. The Dratini is given a MultiTurn status. The Dratini is given a Disable status for Outrage by Gengar's CursedBody. Turn 2 The Gengar braces itself with Endure. Dratini tries to Outrage on Gengar, but the move was disabled. - We verify that the Dratini has a Multi Turn status after turn one. We verify that the Dratini has a Disable status after turn one. We verify that the Dratini no longer has a Multi Turn status after turn two. We verify that the Dratini still has a Disable status after turn two. We verify that the Dratini's Outrage announced being disabled. We verify that Gengar did not take damage during turn two.

    • testRampageMovesShouldNotCrashByBeingTormentedMidMove

      public static CompletableFuture<TestResult> testRampageMovesShouldNotCrashByBeingTormentedMidMove(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will not trigger the "selected a disabled move" check while Tormented.

      In this test, a Dratini that knows Outrage faces off against a Kingambit that knows Torment and SwordsDance. - Turn 1 The Kingambit Torments Dratini. The Dratini attacks the Kingambit with Outrage. The Dratini is given a MultiTurn status. Turn 2 The Kingambit uses SwordsDance. Dratini uses Outrage again, as Torment does not block multi-turn moves. - We verify that the Dratini has a Multi Turn status after turn one. We verify that the Dratini has a Torment status after turn one. We verify that the Dratini has a Multi Turn status after turn two. We verify that the Dratini still has a Torment status after turn two.

    • testUproarShouldEndAndNotCrashByBeingDisabledMidMove

      public static CompletableFuture<TestResult> testUproarShouldEndAndNotCrashByBeingDisabledMidMove(BattleTestHelper helper)
      Uproar will not trigger the "selected a disabled move" check if disabled mid-move.

      In this test, a Pidgey that knows Uproar faces off against a Wigglytuff that knows Disable. - Turn 1 The Pidgey begins an Uproar, damaging Wigglytuff. The Pidgey is given a MultiTurn and UproarStatus status. The Wigglytuff uses Disable on Pidgey. The Pidgey is given a Disable status for Uproar. Turn 2 The Pidgey attempts to continue Uproar, but it is disabled. Wigglytuff Rests, falling asleep and healing itself. - We verify that the Pidgey has a Multi Turn, Disable, and UproarStatus status after turn one. We verify that Wigglytuff was damaged by the Uproar. We verify that the Pidgey no longer has a Multi Turn or UproarStatus status after turn two. We verify that the Pidgey still has a Disable status after turn two. We verify that the Pidgey's Uproar announced being disabled. We verify that Wigglytuff has Sleep status and full health after turn two.

    • testMomentumMovesShouldNotCrashByBeingDisabledMidMove

      public static CompletableFuture<TestResult> testMomentumMovesShouldNotCrashByBeingDisabledMidMove(BattleTestHelper helper)
      Momentum moves (Rollout/IceBall) will not trigger the "selected a disabled move" check if disabled mid-move.

      In this test, a Golem that knows Rollout faces off against a Gengar that knows Endure. - Turn 1 The Gengar braces itself with Endure. The Golem attacks the Gengar with Rollout. The Golem is given a MultiTurn status. The Golem is given a Disable status for Rollout by Gengar's CursedBody. Turn 2 The Gengar braces itself with Endure. Golem tries to Rollout on Gengar, but the move was disabled. - We verify that the Golem has a Multi Turn status after turn one. We verify that the Golem has a Disable status after turn one. We verify that the Golem no longer has a Multi Turn status after turn two. We verify that the Golem still has a Disable status after turn two. We verify that the Golem's Rollout announced being disabled. We verify that Gengar did not take damage during turn two.

    • testChargeMovesShouldNotCrashByBeingDisabledMidMove

      public static CompletableFuture<TestResult> testChargeMovesShouldNotCrashByBeingDisabledMidMove(BattleTestHelper helper)
      Charge moves (Bounce, SolarBeam, SkullBash, etc.) will not trigger the "selected a disabled move" check if disabled mid-move.

      In this test, an Electrode that knows SkullBash faces off against a Muk that knows Disable and Focus Punch. - Turn 1 The Electrode starts using SkullBash. The Electrode is given a MultiTurn status The Muk uses Disable on SkullBash. The Electrode is given a Disable status for SkullBash by Muk's attack. Turn 2 The Muk starts using Focus Punch. The Electrode tries to use Skull Bash on Muk, but the move was disabled. The Muk successfully uses Focus Punch to damage Electrode. - We verify that the Electrode has a Multi Turn status after turn one. We verify that the Electrode has a Disable status after turn one. We verify that the Electrode's SkullBash announced being disabled. We verify that Muk did not take damage during turn two. We verify that Electrode took damage during turn two.

    • testRechargeMovesShouldNotCrashByBeingDisabledMidMove

      public static CompletableFuture<TestResult> testRechargeMovesShouldNotCrashByBeingDisabledMidMove(BattleTestHelper helper)
      Recharge moves will not trigger the "selected a disabled move" check if disabled mid-move.

      In this test, a Scrappy Herdier that knows GigaImpact faces off against a Gengar that knows Endure. - Turn 1 The Gengar braces itself with Endure. The Herdier attacks the Gengar with GigaImpact. The Herdier is given a Recharge status. The Herdier is given a Disable status for GigaImpact by Gengar's CursedBody. Turn 2 The Gengar braces itself with Endure. Herdier recharges. - We verify that the Herdier has a Multi Turn status after turn one. We verify that the Herdier has a Disable status after turn one. We verify that the Herdier no longer has a Multi Turn or Recharge status after turn two. We verify that the Herdier still has a Disable status after turn two. We verify that the Herdier's GigaImpact announces its recharge.

    • testRechargeMovesShouldNotCrashAfterUsingLastPP

      public static CompletableFuture<TestResult> testRechargeMovesShouldNotCrashAfterUsingLastPP(BattleTestHelper helper)
      Recharge moves will not trigger the "selected a disabled move" check if it used the last PP.

      In this test, a Scrappy Herdier that knows GigaImpact with 1 PP faces off against a Haunter that knows Endure. - Turn 1 The Haunter braces itself with Endure. The Herdier attacks the Gengar with GigaImpact. The Herdier is given a Recharge status. Turn 2 The Gengar braces itself with Endure. Herdier recharges. - We verify that the Herdier has a Multi Turn status after turn one. We verify that the Herdier has no PP left after turn one. We verify that the Herdier recharged after turn two. We verify that the Herdier's GigaImpact announces its recharge.

    • testRampageMovesShouldNotCrashAfterUsingLastPP

      public static CompletableFuture<TestResult> testRampageMovesShouldNotCrashAfterUsingLastPP(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will not trigger the "selected move with no PP" check if used last PP.

      In this test, a Dratini that knows Outrage with 1 PP faces off against a Steelix that knows Endure. - Turn 1 The Steelix braces itself with Endure. The Dratini attacks the Steelix with Outrage. The Dratini is given a MultiTurn status. Turn 2 The Steelix braces itself with Endure. Haunter continues to Outrage. - We verify that the Dratini has a Multi Turn status after turn one. We verify that the Dratini has no PP left on Outrage after turn one. We verify that the Dratini still has a Multi Turn status after turn two. We verify that Steelix took damage during turn two.