Class MeteorBeamTests

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

public class MeteorBeamTests extends Object
  • Constructor Details

    • MeteorBeamTests

      public MeteorBeamTests()
  • Method Details

    • testMeteorBeamAppliesSpABoostOnChargeAndHitsNextTurn

      public static CompletableFuture<TestResult> testMeteorBeamAppliesSpABoostOnChargeAndHitsNextTurn(BattleTestHelper helper)
      This test verifies the core functionality of Meteor Beam's two-turn behavior: - On the first turn, when Meteor Beam is selected, the user should immediately receive the Special Attack +1 boost. - The damaging turn should occur on the following turn, and the damage calculation should use the boosted Special Attack stat. Chansey (lvl 100) was selected here as the Magikarp was being KO-d which broke the SpA check Test Steps: 1. Set up a battle with a user Pokemon that knows Meteor Beam and a simple foe that can be damaged (e.g., Magikarp with Splash). 2. On turn 1, have the user select Meteor Beam and the foe do a non-damaging move (e.g., Splash). 3. After turn 1, assert that the user's Special Attack stage has increased by 1. 4. On turn 2, have the user execute the attack (Meteor Beam should automatically resolve) and the foe do another non-damaging move. 5. After turn 2, assert that the foe's health has decreased, confirming that Meteor Beam's damaging turn executed.
    • testMeteorBeamWithPowerHerbExecutesAndConsumesItem

      public static CompletableFuture<TestResult> testMeteorBeamWithPowerHerbExecutesAndConsumesItem(BattleTestHelper helper)
      This test verifies that the Power Herb item causes Meteor Beam to execute immediately on the turn it is used without the need for the charge turn. Chansey (lvl 100) was selected here as the Magikarp was being KO-d which broke the SpA check Test Steps: 1. Set up a battle with a user Pokemon that knows Meteor Beam and holds a Power Herb, and a simple foe that can be damaged 2. On turn 1, have the user select Meteor Beam and the foe do a non-damaging move (e.g., Splash). 3. After turn 1, assert that the user's Special Attack stage has increased by 1 and that the foe's health has decreased, confirming that Meteor Beam executed immediately. 4. Assert that the Power Herb was consumed (user's held item should now be empty or Air).
    • testMeteorBeamSnatchDoesNotStealBoost

      public static CompletableFuture<TestResult> testMeteorBeamSnatchDoesNotStealBoost(BattleTestHelper helper)
      This test verifies that Snatch does not steal the Special Attack boost from Meteor Beam's charge turn, confirming that Meteor Beam's self-boost is not a standard stat-boosting effect that can be snatched. Test Steps: 1. Set up a double battle with the user Pokemon that knows Meteor Beam, an ally that does not interfere, a foe that knows Snatch, and another foe that does not interfere. 2. On turn 1, have the user select Meteor Beam, the ally do a non-damaging move (e.g., Splash), the snatching foe select Snatch, and the other foe do a non-damaging move. 3. On turn 2, have all Pokemon do non-damaging moves (e.g., Splash) to allow the effects to resolve without interference. 4. After turn 2, assert that the user's Special Attack stage has increased by 1 and that the snatching foe's Special Attack stage has not increased, confirming that Snatch did not steal the boost from Meteor Beam.