Class PetalDanceTests

java.lang.Object
com.pixelmonmod.pixelmon.api.test.impl.move.PetalDanceTests

public class PetalDanceTests extends Object
  • Constructor Details

    • PetalDanceTests

      public PetalDanceTests()
  • Method Details

    • testShouldConfuseTheUserAfterCompletingTheFinalTurn

      public static CompletableFuture<TestResult> testShouldConfuseTheUserAfterCompletingTheFinalTurn(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will confuse the user after the final turn.

      In this test, a Nidoking that knows Thrash faces off against a Golem that knows Splash.

           Turn 1
           The Nidoking attacks with Thrash.
           Golem uses Splash.
           After Turn 1, Before Turn 2
           We force Thrash to only last only 1 more turn (2 turns total).
           Turn 2
           The Nidoking attacks with Thrash.
           Golem uses Splash.
           Nidoking is finished with Thrash so it should become confused.
           -
           After Turn 1
           We verify that the Nidoking has a Multi Turn status.
           After Turn 2
           We verify that the Nidoking is confused.
       
    • testShouldBeDisruptedDueToMissing

      public static CompletableFuture<TestResult> testShouldBeDisruptedDueToMissing(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will end if the user misses its target.

      In this test, a Nidoking that knows Thrash faces off against a Golem that knows Dig.

           Turn 1
           The Nidoking attacks with Thrash.
           Golem uses Dig.
           Golem is now underground and unable to be hit by Thrash.
           After Turn 1, Before Turn 2
           We force Thrash to last for only 2 more turns (3 turns total).
           Turn 2
           The Nidoking attacks with Thrash. Nidoking misses.
           Golem finishes the second phase of Dig.
           Nidoking should no longer have a Multi Turn status and should be finished using Thrash.
           -
           After Turn 1
           We verify that the Golem is underground after using Dig.
           We verify that the Nidoking has a Multi Turn status.
           After Turn 2
           We verify that the Nidoking no longer has a Multi Turn status.
       
    • testShouldBeDisruptedDueToFallingAsleep

      public static CompletableFuture<TestResult> testShouldBeDisruptedDueToFallingAsleep(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will end if the user is unable to attack due to falling asleep.

      In this test, a Dragonite that knows Outrage faces off against a Breloom that knows Spore (and holds a Focus Sash just in case).

           Turn 1
           The Dragonite attacks with Outrage.
           Breloom uses Spore. The Dragonite should now be asleep.
           After Turn 1, Before Turn 2
           We force Outrage to last for only 2 more turns (3 turns total).
           Turn 2
           The Dragonite fails to attack with Outrage due to being asleep.
           The Breloom uses Spore and it has no affect.
           Dragonite should no longer have a Multi Turn status and should be finished using Outrage.
           -
           After Turn 1
           We verify that the Dragonite has a Multi Turn status.
           After Turn 2
           We verify that the Dragonite is asleep.
           We verify that the Dragonite no longer has a Multi Turn status.
       
    • testShouldBeDisruptedDueToHittingAProtectionMove

      public static CompletableFuture<TestResult> testShouldBeDisruptedDueToHittingAProtectionMove(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will end if the user hits a protection move.

      In this test, a Nidoking that knows Thrash faces off against a Golem that knows Splash and Protect.

           Turn 1
           The Nidoking attacks with Thrash.
           Golem uses Splash.
           After Turn 1, Before Turn 2
           We force Thrash to last for only 2 more turns (3 turns total).
           Turn 2
           Golem goes first, using Protect.
           The Nidoking attacks with Thrash. Nidoking hits the Protect.
           Nidoking no longer has a Multi Turn status and is finished using Thrash.
           -
           After Turn 1
           We verify that the Nidoking has a Multi Turn status.
           After Turn 2
           We verify that the Nidoking is given a Multi Turn status.
           We verify that the Nidoking no longer has a Multi Turn status.
       
    • testShouldBeDisruptedDueToFlinching

      public static CompletableFuture<TestResult> testShouldBeDisruptedDueToFlinching(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will end if the user flinches before executing their attack.

      In this test, a Cherubi that knows Petal Dance faces off against an Ambipom that knows Splash and Fling and holds a King's Rock. Ambipom is faster than Cherubi

           Turn 1
           The Ambipom uses Splash.
           The Cherubi uses Petal Dance.
           After Turn 1, Before Turn 2
           We force Petal Dance to last for only 2 more turns (3 turns total).
           Turn 2
           The Ambipom attacks with Fling, throwing its King's Rock.
           The Cherubi flinches from the King' Rock.
           The Cherubi should no longer have a Multi Turn status and should be finished using Petal Dance.
           -
           After Turn 1
           We verify that the Cherubi has a Multi Turn status.
           After Turn 2
           We verify that the Cherubi no longer has a Multi Turn status.
       
    • testShouldConfuseTheUserIfDisruptedOnTheSecondTurnWhichIsAlsoTheFinalTurn

      public static CompletableFuture<TestResult> testShouldConfuseTheUserIfDisruptedOnTheSecondTurnWhichIsAlsoTheFinalTurn(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will confuse the user if it is disrupted on the same turn it would have ended.

      In this test, a Cherubi that knows Petal Dance faces off against an Ambipom holding a King's Rock that knows Splash and Fling.

           Turn 1
           Ambipom uses Splash.
           The Cherubi attacks with Petal Dance.
           After Turn 1, Before Turn 2
           We force Petal Dance to last for only 1 more turn (2 turns total).
           Turn 2
           Ambipom uses Fling. The King's Rock is thrown and flinches the Cherubi.
           With Cherubi flinching, Petal Dance is disrupted.
           Cherubi should become confused due to being disrupted on the final turn of its Petal Dance.
           -
           After Turn 1
           We verify that the Cherubi has a Multi Turn status.
           After Turn 2
           We verify that the Cherubi no longer has a Multi Turn status.
           We verify that the Cherubi is confused.
       
    • testShouldNotConfuseTheUserIfDisruptedOnTheSecondTurnWhichIsNotTheFinalTurn

      public static CompletableFuture<TestResult> testShouldNotConfuseTheUserIfDisruptedOnTheSecondTurnWhichIsNotTheFinalTurn(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will not confuse the user if it is supposed to last three turns and is disrupted on the second turn.

      In this test, a Cherubi that knows Petal Dance faces off against an Ambipom holding a King's Rock that knows Splash and Fling.

           Turn 1
           Ambipom uses Splash.
           The Cherubi attacks with Petal Dance.
           After Turn 1, Before Turn 2
           We force Petal Dance to last for only 2 more turns (3 turns total).
           Turn 2
           Ambipom uses Fling. The King's Rock is thrown and flinches the Cherubi.
           With Cherubi flinching, Petal Dance is disrupted.
           The Cherubi should not become confused.
           -
           After Turn 1
           We verify that the Cherubi has a Multi Turn status.
           After Turn 2
           We verify that the Cherubi no longer has a Multi Turn status.
           We verify that the Cherubi is not confused.
       
    • testShouldConfuseTheUserIfDisruptedOnTheThirdTurnWhichIsAlsoTheFinalTurn

      public static CompletableFuture<TestResult> testShouldConfuseTheUserIfDisruptedOnTheThirdTurnWhichIsAlsoTheFinalTurn(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will confuse the user if it is disrupted on the same turn it would have ended.

      In this test, a Cherubi that knows Petal Dance faces off against an Alolan Marowak with the Lightning Rod ability that is holding a King's Rock and that knows Sleep Talk and Fling. The ability is set so that the Alolan Marowak's ability does not become Cursed Body.

           Turn 1
           Marowak uses Sleep Talk.
           The Cherubi attacks with Petal Dance.
           After Turn 1, Before Turn 2
           We force Petal Dance to last for 2 more turns (3 turns total).
           Turn 2
           Marowak uses Sleep Talk.
           The Cherubi attacks with Petal Dance.
           Turn 3
           Marowak uses Fling. The King's Rock is thrown and flinches the Cherubi.
           With Cherubi flinching, Petal Dance is disrupted.
           Cherubi should become confused due to being disrupted on the final turn of its Petal Dance.
           -
           After Turn 1
           We verify that the Cherubi has a Multi Turn status.
           After Turn 3
           We verify that the Cherubi no longer has a Multi Turn status.
           We verify that the Cherubi is confused.
       
    • testShouldBeDisruptedDueToTheTargetBeingImmuneToTheAttack

      public static CompletableFuture<TestResult> testShouldBeDisruptedDueToTheTargetBeingImmuneToTheAttack(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will end if the user hits a Pokémon immune to it.

      In this test, a Dratini that knows Outrage faces off against a Metapod that knows Harden and a Snubbull that knows Splash.

           Turn 1
           The Dratini attacks the Metapod with Outrage.
           The Dratini is given a MultiTurn status.
           Metapod uses Harden.
           After Turn 1, Before Turn 2
           We force Outrage to last for 2 more turns (3 turns total).
           Turn 2
           Metapod is switched out for Snubbull.
           Dratini uses Outrage on Snubbull.
           The move fails, so Dratini should lose its multi turn status.
           -
           After Turn 1
           We verify that the Dratini has a Multi Turn status.
           After Turn 2
           We verify that the Dratini does not have a Multi Turn status.
           We verify that the Dratini is not confused.
       
    • testShouldNotConfuseUserIfTargetIsImmune

      public static CompletableFuture<TestResult> testShouldNotConfuseUserIfTargetIsImmune(BattleTestHelper helper)
      Petal Dance/Outrage/Raging Fury/Thrash will not confuse the user if the target is immune to the move and is hit before the final turn.

      In this test, a Thundurus that knows Thrash faces an Aegislash that knows Sleep Talk.

           Turn 1
           The Thundurus attacks the Aegislash with Thrash.
           Aegislash uses Sleep Talk.
           -
           After Turn 1
           We verify that the Aegislash did not take any damage.
           We verify that the Thundurus does not have a Multi Turn status.
           We verify that the Thundurus is not confused.