Class ZCrystalTests

java.lang.Object
com.pixelmonmod.pixelmon.api.test.impl.item.ZCrystalTests

public class ZCrystalTests extends Object
Tests for every Z-Crystal
  • Constructor Details

    • ZCrystalTests

      public ZCrystalTests()
  • Method Details

    • testPreventsRayquazaFromMegaEvolving

      public static CompletableFuture<TestResult> testPreventsRayquazaFromMegaEvolving(BattleTestHelper helper)
      Holding a Z-Crystal makes a Rayquaza unable to Mega Evolve.

      In this test, a Rayquaza that holds a Dragonium Z and knows the move Dragon Ascent faces a Xerneas that knows the move Sleep Talk.

           Turn 1
           Rayquaza uses Dragon Ascent.
           Xerneas uses Sleep Talk.
           -
           We verify that the Rayquaza did not Mega Evolve.
       
    • testChangesTheTypeOfArceusButNotJudgment

      public static CompletableFuture<TestResult> testChangesTheTypeOfArceusButNotJudgment(BattleTestHelper helper)
      If Arceus holds a type-specific Z-Crystal, its type changes to correspond to the Z-Crystal via its Multitype ability; unlike with Plates, however, its signature move, Judgment, remains unaffected.

      In this test, a Arceus that holds a Dragonium Z and knows the move Judgment faces a Xerneas that knows the move Sleep Talk.

           Turn 1
           Arceus uses Judgment.
           Xerneas uses Sleep Talk.
           -
           We verify that the Arceus is Dragon-type.
           We verify that the Arceus' Judgment is Normal-type.
           We verify that the Xerneas is not at full health.
       
    • testBuginiumZUpgradesDamagingBugTypeMovesIntoSavageSpinOut

      public static CompletableFuture<TestResult> testBuginiumZUpgradesDamagingBugTypeMovesIntoSavageSpinOut(BattleTestHelper helper)
      The Buginium Z allows the holder to upgrade its damaging Bug-type moves to the Z-Move Savage Spin-Out.

      In this test, a Smeargle that holds a Buginium Z and knows a random damaging Bug-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Buginium Z.
           The Smeargle uses Savage Spin-Out.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Bug-type move.
           We verify that the Smeargle's Z-Move is Savage Spin-Out.
           We verify that the Smeargle's Savage Spin-Out is the same attack category as the random Bug-type move it knows.
       
    • testBuginiumZDoesNotWorkWithNonBugTypeMoves

      public static CompletableFuture<TestResult> testBuginiumZDoesNotWorkWithNonBugTypeMoves(BattleTestHelper helper)
      The Buginium Z does not upgrade moves that are not Bug-type.

      In this test, a Smeargle that holds a Buginium Z and knows a random damaging move that is not Bug-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Buginium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Bug-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testDarkiniumZUpgradesDamagingDarkTypeMovesIntoBlackHoleEclipse

      public static CompletableFuture<TestResult> testDarkiniumZUpgradesDamagingDarkTypeMovesIntoBlackHoleEclipse(BattleTestHelper helper)
      The Darkinium Z allows the holder to upgrade its damaging Dark-type moves to the Z-Move Black Hole Eclipse.

      In this test, a Smeargle that holds a Darkinium Z and knows a random damaging Dark-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Darkinium Z.
           The Smeargle uses Black Hole Eclipse.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Dark-type move.
           We verify that the Smeargle's Z-Move is Black Hole Eclipse.
           We verify that the Smeargle's Black Hole Eclipse is the same attack category as the random Dark-type move it knows.
       
    • testDarkiniumZDoesNotWorkWithNonDarkTypeMoves

      public static CompletableFuture<TestResult> testDarkiniumZDoesNotWorkWithNonDarkTypeMoves(BattleTestHelper helper)
      The Darkinium Z does not upgrade moves that are not Dark-type.

      In this test, a Smeargle that holds a Darkinium Z and knows a random damaging move that is not Dark-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Darkinium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Dark-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testDragoniumZUpgradesDamagingDragonTypeMovesIntoDevastatingDrake

      public static CompletableFuture<TestResult> testDragoniumZUpgradesDamagingDragonTypeMovesIntoDevastatingDrake(BattleTestHelper helper)
      The Dragonium Z allows the holder to upgrade its damaging Dragon-type moves to the Z-Move Devastating Drake

      In this test, a Smeargle that holds a Dragonium Z and knows a random damaging Dragon-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Dragonium Z.
           The Smeargle uses Devastating Drake.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Dragon-type move.
           We verify that the Smeargle's Z-Move is Devastating Drake.
           We verify that the Smeargle's Devastating Drake is the same attack category as the random Dragon-type move it knows.
       
    • testDragoniumZDoesNotWorkWithNonDragonTypeMoves

      public static CompletableFuture<TestResult> testDragoniumZDoesNotWorkWithNonDragonTypeMoves(BattleTestHelper helper)
      The Dragonium Z does not upgrade moves that are not Dragon-type.

      In this test, a Smeargle that holds a Dragonium Z and knows a random damaging move that is not Dragon-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Dragonium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Dragon-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testElectriumZUpgradesDamagingElectricTypeMovesIntoGigavoltHavoc

      public static CompletableFuture<TestResult> testElectriumZUpgradesDamagingElectricTypeMovesIntoGigavoltHavoc(BattleTestHelper helper)
      The Electrium Z allows the holder to upgrade its damaging Electric-type moves to the Z-Move Gigavolt Havoc.

      In this test, a Smeargle that holds a Electrium Z and knows a random damaging Electric-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Electrium Z.
           The Smeargle uses Gigavolt Havoc.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Electric-type move.
           We verify that the Smeargle's Z-Move is Gigavolt Havoc.
           We verify that the Smeargle's Gigavolt Havoc is the same attack category as the random Electric-type move it knows.
       
    • testElectriumZDoesNotWorkWithNonElectricTypeMoves

      public static CompletableFuture<TestResult> testElectriumZDoesNotWorkWithNonElectricTypeMoves(BattleTestHelper helper)
      The Electrium Z does not upgrade moves that are not Electric-type.

      In this test, a Smeargle that holds a Electrium Z and knows a random damaging move that is not Electric-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Electrium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Electric-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testFairiumZUpgradesDamagingFairyTypeMovesIntoTwinkleTackle

      public static CompletableFuture<TestResult> testFairiumZUpgradesDamagingFairyTypeMovesIntoTwinkleTackle(BattleTestHelper helper)
      The Fairium Z allows the holder to upgrade its damaging Fairy-type moves to the Z-Move Twinkle Tackle.

      In this test, a Smeargle that holds a Fairium Z and knows a random damaging Fairy-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Fairium Z.
           The Smeargle uses Twinkle Tackle.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Fairy-type move.
           We verify that the Smeargle's Z-Move is Twinkle Tackle.
           We verify that the Smeargle's Twinkle Tackle is the same attack category as the random Fairy-type move it knows.
       
    • testFairiumZDoesNotWorkWithNonFairyTypeMoves

      public static CompletableFuture<TestResult> testFairiumZDoesNotWorkWithNonFairyTypeMoves(BattleTestHelper helper)
      The Fairium Z does not upgrade moves that are not Fairy-type.

      In this test, a Smeargle that holds a Fairium Z and knows a random damaging move that is not Fairy-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Fairium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Fairy-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testFightiniumZUpgradesDamagingFightingTypeMovesIntoAllOutPummeling

      public static CompletableFuture<TestResult> testFightiniumZUpgradesDamagingFightingTypeMovesIntoAllOutPummeling(BattleTestHelper helper)
      The Fightinium Z allows the holder to upgrade its damaging Fighting-type moves to the Z-Move All-Out Pummeling.

      In this test, a Smeargle that holds a Fightinium Z and knows a random damaging Fighting-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Fightinium Z.
           The Smeargle uses All-Out Pummeling.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Fighting-type move.
           We verify that the Smeargle's Z-Move is All-Out Pummeling.
           We verify that the Smeargle's All-Out Pummeling is the same attack category as the random Fighting-type move it knows.
       
    • testFightiniumZDoesNotWorkWithNonFightingTypeMoves

      public static CompletableFuture<TestResult> testFightiniumZDoesNotWorkWithNonFightingTypeMoves(BattleTestHelper helper)
      The Fightinium Z does not upgrade moves that are not Fighting-type.

      In this test, a Smeargle that holds a Fightinium Z and knows a random damaging move that is not Fighting-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Fightinium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Fighting-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testFiriumZUpgradesDamagingFireTypeMovesIntoInfernoOverdrive

      public static CompletableFuture<TestResult> testFiriumZUpgradesDamagingFireTypeMovesIntoInfernoOverdrive(BattleTestHelper helper)
      The Firium Z allows the holder to upgrade its damaging Fire-type moves to the Z-Move Inferno Overdrive.

      In this test, a Smeargle that holds a Firium Z and knows a random damaging Fire-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Firium Z.
           The Smeargle uses Inferno Overdrive.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Fire-type move.
           We verify that the Smeargle's Z-Move is Inferno Overdrive.
           We verify that the Smeargle's Inferno Overdrive is the same attack category as the random Fire-type move it knows.
       
    • testFiriumZDoesNotWorkWithNonFireTypeMoves

      public static CompletableFuture<TestResult> testFiriumZDoesNotWorkWithNonFireTypeMoves(BattleTestHelper helper)
      The Firium Z does not upgrade moves that are not Fire-type.

      In this test, a Smeargle that holds a Firium Z and knows a random damaging move that is not Fire-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Firium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Fire-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testFlyiniumZUpgradesDamagingFlyingTypeMovesIntoSupersonicSkystrike

      public static CompletableFuture<TestResult> testFlyiniumZUpgradesDamagingFlyingTypeMovesIntoSupersonicSkystrike(BattleTestHelper helper)
      The Flyinium Z allows the holder to upgrade its damaging Flying-type moves to the Z-Move Supersonic Skystrike.

      In this test, a Smeargle that holds a Flyinium Z and knows a random damaging Flying-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Flyinium Z.
           The Smeargle uses Supersonic Skystrike.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Flying-type move.
           We verify that the Smeargle's Z-Move is Supersonic Skystrike.
           We verify that the Smeargle's Supersonic Skystrike is the same attack category as the random Flying-type move it knows.
       
    • testFlyiniumZDoesNotWorkWithNonFlyingTypeMoves

      public static CompletableFuture<TestResult> testFlyiniumZDoesNotWorkWithNonFlyingTypeMoves(BattleTestHelper helper)
      The Flyinium Z does not upgrade moves that are not Flying-type.

      In this test, a Smeargle that holds a Flyinium Z and knows a random damaging move that is not Flying-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Flyinium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Flying-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testGhostiumZUpgradesDamagingGhostTypeMovesIntoNeverEndingNightmare

      public static CompletableFuture<TestResult> testGhostiumZUpgradesDamagingGhostTypeMovesIntoNeverEndingNightmare(BattleTestHelper helper)
      The Ghostium Z allows the holder to upgrade its damaging Ghost-type moves to the Z-Move Never-Ending nightmare.

      In this test, a Smeargle that holds a Ghostium Z and knows a random damaging Ghost-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Ghostium Z.
           The Smeargle uses Never-Ending nightmare.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Ghost-type move.
           We verify that the Smeargle's Z-Move is Never-Ending nightmare.
           We verify that the Smeargle's Never-Ending nightmare is the same attack category as the random Ghost-type move it knows.
       
    • testGhostiumZDoesNotWorkWithNonGhostTypeMoves

      public static CompletableFuture<TestResult> testGhostiumZDoesNotWorkWithNonGhostTypeMoves(BattleTestHelper helper)
      The Ghostium Z does not upgrade moves that are not Ghost-type.

      In this test, a Smeargle that holds a Ghostium Z and knows a random damaging move that is not Ghost-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Ghostium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Ghost-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testGrassiumZUpgradesDamagingGrassTypeMovesIntoBloomDoom

      public static CompletableFuture<TestResult> testGrassiumZUpgradesDamagingGrassTypeMovesIntoBloomDoom(BattleTestHelper helper)
      The Grassium Z allows the holder to upgrade its damaging Grass-type moves to the Z-Move Bloom Doom.

      In this test, a Smeargle that holds a Grassium Z and knows a random damaging Grass-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Grassium Z.
           The Smeargle uses Bloom Doom.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Grass-type move.
           We verify that the Smeargle's Z-Move is Bloom Doom.
           We verify that the Smeargle's Bloom Doom is the same attack category as the random Grass-type move it knows.
       
    • testGrassiumZDoesNotWorkWithNonGrassTypeMoves

      public static CompletableFuture<TestResult> testGrassiumZDoesNotWorkWithNonGrassTypeMoves(BattleTestHelper helper)
      The Grassium Z does not upgrade moves that are not Grass-type.

      In this test, a Smeargle that holds a Grassium Z and knows a random damaging move that is not Grass-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Grassium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Grass-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testGroundiumZUpgradesDamagingGroundTypeMovesIntoTectonicRage

      public static CompletableFuture<TestResult> testGroundiumZUpgradesDamagingGroundTypeMovesIntoTectonicRage(BattleTestHelper helper)
      The Groundium Z allows the holder to upgrade its damaging Ground-type moves to the Z-Move Tectonic Rage.

      In this test, a Smeargle that holds a Groundium Z and knows a random damaging Ground-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Groundium Z.
           The Smeargle uses Tectonic Rage.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Ground-type move.
           We verify that the Smeargle's Z-Move is Tectonic Rage.
           We verify that the Smeargle's Tectonic Rage is the same attack category as the random Ground-type move it knows.
       
    • testGroundiumZDoesNotWorkWithNonGroundTypeMoves

      public static CompletableFuture<TestResult> testGroundiumZDoesNotWorkWithNonGroundTypeMoves(BattleTestHelper helper)
      The Groundium Z does not upgrade moves that are not Ground-type.

      In this test, a Smeargle that holds a Groundium Z and knows a random damaging move that is not Ground-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Groundium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Ground-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testIciumZUpgradesDamagingIceTypeMovesIntoSubzeroSlammer

      public static CompletableFuture<TestResult> testIciumZUpgradesDamagingIceTypeMovesIntoSubzeroSlammer(BattleTestHelper helper)
      The Icium Z allows the holder to upgrade its damaging Ice-type moves to the Z-Move Subzero Slammer.

      In this test, a Smeargle that holds a Icium Z and knows a random damaging Ice-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Icium Z.
           The Smeargle uses Subzero Slammer.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Ice-type move.
           We verify that the Smeargle's Z-Move is Subzero Slammer.
           We verify that the Smeargle's Subzero Slammer is the same attack category as the random Ice-type move it knows.
       
    • testIciumZDoesNotWorkWithNonIceTypeMoves

      public static CompletableFuture<TestResult> testIciumZDoesNotWorkWithNonIceTypeMoves(BattleTestHelper helper)
      The Icium Z does not upgrade moves that are not Ice-type.

      In this test, a Smeargle that holds a Icium Z and knows a random damaging move that is not Ice-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Icium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Ice-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testNormaliumZUpgradesDamagingNormalTypeMovesIntoBreakneckBlitz

      public static CompletableFuture<TestResult> testNormaliumZUpgradesDamagingNormalTypeMovesIntoBreakneckBlitz(BattleTestHelper helper)
      The Normalium Z allows the holder to upgrade its damaging Normal-type moves to the Z-Move Breakneck Blitz.

      In this test, a Smeargle that holds a Normalium Z and knows a random damaging Normal-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Normalium Z.
           The Smeargle uses Breakneck Blitz.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Normal-type move.
           We verify that the Smeargle's Z-Move is Breakneck Blitz.
           We verify that the Smeargle's Breakneck Blitz is the same attack category as the random Normal-type move it knows.
       
    • testNormaliumZDoesNotWorkWithNonNormalTypeMoves

      public static CompletableFuture<TestResult> testNormaliumZDoesNotWorkWithNonNormalTypeMoves(BattleTestHelper helper)
      The Normalium Z does not upgrade moves that are not Normal-type.

      In this test, a Smeargle that holds a Normalium Z and knows a random damaging move that is not Normal-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Normalium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Normal-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testPoisoniumZUpgradesDamagingPoisonTypeMovesIntoAcidDownpour

      public static CompletableFuture<TestResult> testPoisoniumZUpgradesDamagingPoisonTypeMovesIntoAcidDownpour(BattleTestHelper helper)
      The Poisonium Z allows the holder to upgrade its damaging Poison-type moves to the Z-Move Acid Downpour.

      In this test, a Smeargle that holds a Poisonium Z and knows a random damaging Poison-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Poisonium Z.
           The Smeargle uses Acid Downpour.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Poison-type move.
           We verify that the Smeargle's Z-Move is Acid Downpour.
           We verify that the Smeargle's Acid Downpour is the same attack category as the random Poison-type move it knows.
       
    • testPoisoniumZDoesNotWorkWithNonPoisonTypeMoves

      public static CompletableFuture<TestResult> testPoisoniumZDoesNotWorkWithNonPoisonTypeMoves(BattleTestHelper helper)
      The Poisonium Z does not upgrade moves that are not Poison-type.

      In this test, a Smeargle that holds a Poisonium Z and knows a random damaging move that is not Poison-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Poisonium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Poison-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testPsychiumZUpgradesDamagingPsychicTypeMovesIntoShatteredPsyche

      public static CompletableFuture<TestResult> testPsychiumZUpgradesDamagingPsychicTypeMovesIntoShatteredPsyche(BattleTestHelper helper)
      The Psychium Z allows the holder to upgrade its damaging Psychic-type moves to the Z-Move Shattered Psyche.

      In this test, a Smeargle that holds a Psychium Z and knows a random damaging Psychic-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Psychium Z.
           The Smeargle uses Shattered Psyche.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Psychic-type move.
           We verify that the Smeargle's Z-Move is Shattered Psyche.
           We verify that the Smeargle's Shattered Psyche is the same attack category as the random Psychic-type move it knows.
       
    • testPsychiumZDoesNotWorkWithNonPsychicTypeMoves

      public static CompletableFuture<TestResult> testPsychiumZDoesNotWorkWithNonPsychicTypeMoves(BattleTestHelper helper)
      The Psychium Z does not upgrade moves that are not Psychic-type.

      In this test, a Smeargle that holds a Psychium Z and knows a random damaging move that is not Psychic-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Psychium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Psychic-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testRockiumZUpgradesDamagingRockTypeMovesIntoContinentalCrush

      public static CompletableFuture<TestResult> testRockiumZUpgradesDamagingRockTypeMovesIntoContinentalCrush(BattleTestHelper helper)
      The Rockium Z allows the holder to upgrade its damaging Rock-type moves to the Z-Move Continental Crush.

      In this test, a Smeargle that holds a Rockium Z and knows a random damaging Rock-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Rockium Z.
           The Smeargle uses Continental Crush.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Rock-type move.
           We verify that the Smeargle's Z-Move is Continental Crush.
           We verify that the Smeargle's Continental Crush is the same attack category as the random Rock-type move it knows.
       
    • testRockiumZDoesNotWorkWithNonRockTypeMoves

      public static CompletableFuture<TestResult> testRockiumZDoesNotWorkWithNonRockTypeMoves(BattleTestHelper helper)
      The Rockium Z does not upgrade moves that are not Rock-type.

      In this test, a Smeargle that holds a Rockium Z and knows a random damaging move that is not Rock-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Rockium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Rock-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testSteeliumZUpgradesDamagingSteelTypeMovesIntoCorkscrewCrash

      public static CompletableFuture<TestResult> testSteeliumZUpgradesDamagingSteelTypeMovesIntoCorkscrewCrash(BattleTestHelper helper)
      The Steelium Z allows the holder to upgrade its damaging Steel-type moves to the Z-Move Corkscrew Crash.

      In this test, a Smeargle that holds a Steelium Z and knows a random damaging Steel-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Steelium Z.
           The Smeargle uses Corkscrew Crash.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Steel-type move.
           We verify that the Smeargle's Z-Move is Corkscrew Crash.
           We verify that the Smeargle's Corkscrew Crash is the same attack category as the random Steel-type move it knows.
       
    • testSteeliumZDoesNotWorkWithNonSteelTypeMoves

      public static CompletableFuture<TestResult> testSteeliumZDoesNotWorkWithNonSteelTypeMoves(BattleTestHelper helper)
      The Steelium Z does not upgrade moves that are not Steel-type.

      In this test, a Smeargle that holds a Steelium Z and knows a random damaging move that is not Steel-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Steelium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Steel-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testWateriumZUpgradesDamagingWaterTypeMovesIntoHydroVortex

      public static CompletableFuture<TestResult> testWateriumZUpgradesDamagingWaterTypeMovesIntoHydroVortex(BattleTestHelper helper)
      The Waterium Z allows the holder to upgrade its damaging Water-type moves to the Z-Move Hydro Vortex.

      In this test, a Smeargle that holds a Waterium Z and knows a random damaging Water-type move faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle activates its Waterium Z.
           The Smeargle uses Hydro Vortex.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is a Z-Move.
           We verify that the Smeargle's Z-Move is a Water-type move.
           We verify that the Smeargle's Z-Move is Hydro Vortex.
           We verify that the Smeargle's Hydro Vortex is the same attack category as the random Water-type move it knows.
       
    • testWateriumZDoesNotWorkWithNonWaterTypeMoves

      public static CompletableFuture<TestResult> testWateriumZDoesNotWorkWithNonWaterTypeMoves(BattleTestHelper helper)
      The Waterium Z does not upgrade moves that are not Water-type.

      In this test, a Smeargle that holds a Waterium Z and knows a random damaging move that is not Water-type faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Waterium Z.
           The Smeargle does not use a Z-Move.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Water-type move.
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testAloraichiumZUpgradesThunderboltIntoStokedSparksurfer

      public static CompletableFuture<TestResult> testAloraichiumZUpgradesThunderboltIntoStokedSparksurfer(BattleTestHelper helper)
      The Aloraichium Z allows an Alolan Raichu to upgrade its Thunderbolt into the special Z-Move Stoked Sparksurfer.

      In this test, an Alolan Raichu that holds an Aloraichium Z and knows the move Thunderbolt faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Alolan Raichu activates its Aloraichium Z.
           The Alolan Raichu uses Stoked Sparksurfer.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Alolan Raichu's attack is a Z-Move.
           We verify that the Alolan Raichu's Z-Move is an Electric-type move.
           We verify that the Alolan Raichu's Z-Move is Stoked Sparksurfer.
           We verify that the power of the Alolan Raichu's Stoked Sparksurfer is 175.
       
    • testAloraichiumZFailsIfNotAlolanRaichu

      public static CompletableFuture<TestResult> testAloraichiumZFailsIfNotAlolanRaichu(BattleTestHelper helper)
      The Aloraichium Z will not upgrade a move if the user is not an Alolan Raichu.

      In this test, a Raichu that holds an Aloraichium Z and knows the move Thunderbolt faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Raichu attempts to activate its Aloraichium Z.
           The Raichu uses Thunderbolt.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Raichu's attack is not a Z-Move.
       
    • testDecidiumZUpgradesSpiritShackleIntoSinisterArrowRaid

      public static CompletableFuture<TestResult> testDecidiumZUpgradesSpiritShackleIntoSinisterArrowRaid(BattleTestHelper helper)
      The Decidium Z allows a Decidueye to upgrade its Spirit Shackle into the special Z-Move Sinister Arrow Raid.

      In this test, a Decidueye that holds an Decidium Z and knows the move Spirit Shackle faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Decidueye activates its Decidium Z.
           The Decidueye uses Sinister Arrow Raid.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Decidueye's attack is a Z-Move.
           We verify that the Decidueye's Z-Move is a Ghost-type move.
           We verify that the Decidueye's Z-Move is Sinister Arrow Raid.
           We verify that the power of the Decidueye's Sinister Arrow Raid is 180.
       
    • testDecidiumZFailsIfNotDecidueye

      public static CompletableFuture<TestResult> testDecidiumZFailsIfNotDecidueye(BattleTestHelper helper)
      The Decidium Z will not upgrade a move if the user is not a Decidueye.

      In this test, a Smeargle that holds an Decidium Z and knows the move Spirit Shackle faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Decidium Z.
           The Smeargle uses Spirit Shackle.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testEeviumZUpgradesLastResortIntoExtremeEvoboost

      public static CompletableFuture<TestResult> testEeviumZUpgradesLastResortIntoExtremeEvoboost(BattleTestHelper helper)
      The Eevium Z allows an Eevee to upgrade its Last Resort into the special Z-Move Extreme Evoboost.

      In this test, an Eevee that holds an Eevium Z and knows the move Last Resort faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Eevee activates its Eevium Z.
           The Eevee uses Extreme Evoboost.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Eevee's attack is a Z-Move.
           We verify that the Eevee's Z-Move is a Normal-type move.
           We verify that the Eevee's Z-Move is Extreme Evoboost.
       
    • testEeviumZFailsIfNotEevee

      public static CompletableFuture<TestResult> testEeviumZFailsIfNotEevee(BattleTestHelper helper)
      The Eevium Z will not upgrade a move if the user is not an Eevee.

      In this test, a Sylveon that holds an Eevium Z and knows the move Last Resort faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Sylveon attempts to activate its Eevium Z.
           The Sylveon uses Last Resort.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Sylveon's attack is not a Z-Move.
       
    • testInciniumZUpgradesDarkestLariatIntoMaliciousMoonsault

      public static CompletableFuture<TestResult> testInciniumZUpgradesDarkestLariatIntoMaliciousMoonsault(BattleTestHelper helper)
      The Incinium Z allows an Incineroar to upgrade its Darkest Lariat into the special Z-Move Malicious Moonsault.

      In this test, an Incineroar that holds an Incinium Z and knows the move Darkest Lariat faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Incineroar activates its Incinium Z.
           The Incineroar uses Malicious Moonsault.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Incineroar's attack is a Z-Move.
           We verify that the Incineroar's Z-Move is a Dark-type move.
           We verify that the Incineroar's Z-Move is Malicious Moonsault.
           We verify that the Incineroar's Malicious Moonsault has a power of 180.
       
    • testInciniumZFailsIfNotIncineroar

      public static CompletableFuture<TestResult> testInciniumZFailsIfNotIncineroar(BattleTestHelper helper)
      The Incinium Z will not upgrade a move if the user is not an Incineroar.

      In this test, a Torracat that holds an Incinium Z and knows the move Darkest Lariat faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Torracat attempts to activate its Incinium Z.
           The Torracat uses Darkest Lariat.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Torracat's attack is not a Z-Move.
       
    • testKommoniumZUpgradesClangingScalesIntoClangorousSoulblaze

      public static CompletableFuture<TestResult> testKommoniumZUpgradesClangingScalesIntoClangorousSoulblaze(BattleTestHelper helper)
      The Kommonium Z allows a Kommo-o to upgrade its Clanging Scales into the special Z-Move Clangorous Soulblaze.

      In this test, a Kommo-o that holds a Kommonium Z and knows the move Clanging Scales faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Kommo-o activates its Kommonium Z.
           The Kommo-o uses Clangorous Soulblaze.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Kommo-o's attack is a Z-Move.
           We verify that the Kommo-o's Z-Move is a Dragon-type move.
           We verify that the Kommo-o's Z-Move is Clangorous Soulblaze.
           We verify that the Kommo-o's Clangorous Soulblaze has a power of 185.
       
    • testKommoniumZFailsIfNotKommoo

      public static CompletableFuture<TestResult> testKommoniumZFailsIfNotKommoo(BattleTestHelper helper)
      The Kommonium Z will not upgrade a move if the user is not a Kommo-o.

      In this test, a Hakamo-o that holds a Kommonium Z and knows the move Clanging Scales faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Hakamo-o attempts to activate its Kommonium Z.
           The Hakamo-o uses Clangorous Soulblaze.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Hakamo-o's attack is not a Z-Move.
       
    • testLunaliumZUpgradesLunalasMoongeistBeamIntoMenacingMoonrazeMaelstrom

      public static CompletableFuture<TestResult> testLunaliumZUpgradesLunalasMoongeistBeamIntoMenacingMoonrazeMaelstrom(BattleTestHelper helper)
      The Lunalium Z allows a Lunala to upgrade its Moongeist Beam into the special Z-Move Menacing Moonraze Maelstrom.

      In this test, a Lunala that holds a Lunalium Z and knows the move Moongeist Beam faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Lunala activates its Lunalium Z.
           The Lunala uses Menacing Moonraze Maelstrom.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Lunala's attack is a Z-Move.
           We verify that the Lunala's Z-Move is a Ghost-type move.
           We verify that the Lunala's Z-Move is Menacing Moonraze Maelstrom.
           We verify that the Lunala's Menacing Moonraze Maelstrom has a power of 200.
       
    • testLunaliumZUpgradesDawnWingsNecrozmasMoongeistBeamIntoMenacingMoonrazeMaelstrom

      public static CompletableFuture<TestResult> testLunaliumZUpgradesDawnWingsNecrozmasMoongeistBeamIntoMenacingMoonrazeMaelstrom(BattleTestHelper helper)
      The Lunalium Z allows a Dawn Wings Necrozma to upgrade its Moongeist Beam into the special Z-Move Menacing Moonraze Maelstrom.

      In this test, a Dawn Wings Necrozma that holds a Lunalium Z and knows the move Moongeist Beam faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Dawn Wings Necrozma activates its Lunalium Z.
           The Dawn Wings Necrozma uses Menacing Moonraze Maelstrom.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Dawn Wings Necrozma's attack is a Z-Move.
           We verify that the Dawn Wings Necrozma's Z-Move is a Ghost-type move.
           We verify that the Dawn Wings Necrozma's Z-Move is Menacing Moonraze Maelstrom.
           We verify that the Dawn Wings Necrozma's Menacing Moonraze Maelstrom has a power of 200.
       
    • testLunaliumZFailsIfNotLunalaOrDawnWingsNecrozma

      public static CompletableFuture<TestResult> testLunaliumZFailsIfNotLunalaOrDawnWingsNecrozma(BattleTestHelper helper)
      The Lunalium Z will not upgrade a move if the user is not a Lunala or a Dawn Wings Necrozma.

      In this test, a Necrozma that holds a Lunalium Z and knows the move Moongeist Beam faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Necrozma attempts to activate its Lunalium Z.
           The Necrozma uses Moongeist Beam.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Necrozma's attack is not a Z-Move.
       
    • testLycaniumZUpgradesStoneEdgeIntoSplinteredStormshards

      public static CompletableFuture<TestResult> testLycaniumZUpgradesStoneEdgeIntoSplinteredStormshards(BattleTestHelper helper)
      The Lycanium Z allows a Lycanroc to upgrade its Stone Edge into the special Z-Move Splintered Stormshards.

      In this test, a Lycanroc that holds a Lycanium Z and knows the move Stone Edge faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Lycanroc activates its Lycanium Z.
           The Lycanroc uses Splintered Stormshards.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Lycanroc's attack is a Z-Move.
           We verify that the Lycanroc's Z-Move is a Rock-type move.
           We verify that the Lycanroc's Z-Move is Splintered Stormshards.
           We verify that the Lycanroc's Splintered Stormshards has a power of 190.
       
    • testLycaniumZFailsIfNotLycanroc

      public static CompletableFuture<TestResult> testLycaniumZFailsIfNotLycanroc(BattleTestHelper helper)
      The Lycanium Z will not upgrade a move if the user is not a Lycanroc.

      In this test, a Rockruff that holds a Lycanium Z and knows the move Stone Edge faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Rockruff attempts to activate its Lycanium Z.
           The Rockruff uses Stone Edge.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Rockruff's attack is not a Z-Move.
       
    • testMarshadiumZUpgradesSpectralThiefIntoSoulStealing7StarStrike

      public static CompletableFuture<TestResult> testMarshadiumZUpgradesSpectralThiefIntoSoulStealing7StarStrike(BattleTestHelper helper)
      The Marshadium Z allows a Marshadow to upgrade its Spectral Thief into the special Z-Move Soul-Stealing 7-Star Strike.

      In this test, a Marshadow that holds a Marshadium Z and knows the move Spectral Thief faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Marshadow activates its Marshadium Z.
           The Marshadow uses Soul-Stealing 7-Star Strike.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Marshadow's attack is a Z-Move.
           We verify that the Marshadow's Z-Move is a Ghost-type move.
           We verify that the Marshadow's Z-Move is Soul-Stealing 7-Star Strike.
           We verify that the Marshadow's Soul-Stealing 7-Star Strike has a power of 195.
       
    • testMarshadiumZFailsIfNotMarshadow

      public static CompletableFuture<TestResult> testMarshadiumZFailsIfNotMarshadow(BattleTestHelper helper)
      The Marshadium Z will not upgrade a move if the user is not a Marshadow.

      In this test, a Mew that holds a Marshadium Z and knows the move Spectral Thief faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Mew attempts to activate its Marshadium Z.
           The Mew uses Spectral Thief.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Mew's attack is not a Z-Move.
       
    • testMewniumZUpgradesPsychicIntoGenesisSupernova

      public static CompletableFuture<TestResult> testMewniumZUpgradesPsychicIntoGenesisSupernova(BattleTestHelper helper)
      The Mewnium Z allows a Mew to upgrade its Psychic into the special Z-Move Genesis Supernova.

      In this test, a Mew that holds a Mewnium Z and knows the move Psychic faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Mew activates its Mewnium Z.
           The Mew uses Genesis Supernova.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Mew's attack is a Z-Move.
           We verify that the Mew's Z-Move is a Psychic-type move.
           We verify that the Mew's Z-Move is Genesis Supernova.
           We verify that the Mew's Genesis Supernova has a power of 185.
       
    • testMewniumZFailsIfNotMew

      public static CompletableFuture<TestResult> testMewniumZFailsIfNotMew(BattleTestHelper helper)
      The Mewnium Z will not upgrade a move if the user is not a Mew.

      In this test, a Mewtwo that holds an Mewnium Z and knows the move Psychic faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Mewtwo attempts to activate its Mewnium Z.
           The Mewtwo uses Psychic.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Mewtwo's attack is not a Z-Move.
       
    • testMimikiumZUpgradesPlayRoughIntoLetsSnuggleForever

      public static CompletableFuture<TestResult> testMimikiumZUpgradesPlayRoughIntoLetsSnuggleForever(BattleTestHelper helper)
      The Mimikium Z allows a Mimikyu to upgrade its Play Rough into the special Z-Move Let's Snuggle Forever.

      In this test, a Mimikyu that holds a Mimikium Z and knows the move Play Rough faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Mimikyu activates its Mimikium Z.
           The Mimikyu uses Let's Snuggle Forever.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Mimikyu's attack is a Z-Move.
           We verify that the Mimikyu's Z-Move is a Fairy-type move.
           We verify that the Mimikyu's Z-Move is Let's Snuggle Forever.
           We verify that the Mimikyu's Let's Snuggle Forever has a power of 190.
       
    • testMimikiumZFailsIfNotMimikyu

      public static CompletableFuture<TestResult> testMimikiumZFailsIfNotMimikyu(BattleTestHelper helper)
      The Mimikium Z will not upgrade a move if the user is not a Mimikyu.

      In this test, a Yamper that holds a Mimikium Z and knows the move Play Rough faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Yamper attempts to activate its Mimikium Z.
           The Yamper uses Play Rough.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Yamper's attack is not a Z-Move.
       
    • testPikaniumZUpgradesVoltTackleIntoCatastropika

      public static CompletableFuture<TestResult> testPikaniumZUpgradesVoltTackleIntoCatastropika(BattleTestHelper helper)
      The Pikanium Z allows a Pikachu to upgrade its Volt Tackle into the special Z-Move Catastropika.

      In this test, a Pikachu that holds a Pikanium Z and knows the move Volt Tackle faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Pikachu activates its Pikanium Z.
           The Pikachu uses Catastropika.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Pikachu's attack is a Z-Move.
           We verify that the Pikachu's Z-Move is an Electric-type move.
           We verify that the Pikachu's Z-Move is Catastropika.
           We verify that the Pikachu's Catastropika has a power of 210.
       
    • testPikaniumZFailsIfNotPikachu

      public static CompletableFuture<TestResult> testPikaniumZFailsIfNotPikachu(BattleTestHelper helper)
      The Pikanium Z will not upgrade a move if the user is not a Pikachu.

      In this test, a Pichu that holds a Pikanium Z and knows the move Volt Tackle faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Pichu attempts to activate its Pikanium Z.
           The Pichu uses Volt Tackle.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Pichu's attack is not a Z-Move.
       
    • testPikashuniumZUpgradesThunderboltIntoTenMillionVoltThunderbolt

      public static CompletableFuture<TestResult> testPikashuniumZUpgradesThunderboltIntoTenMillionVoltThunderbolt(BattleTestHelper helper)
      The Pikashunium Z allows a Pikachu (in a cap) to upgrade its Thunderbolt into the special Z-Move 10,000,000 Volt Thunderbolt.

      In this test, a Pikachu that holds a Pikashunium Z and knows the move Thunderbolt faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Pikachu activates its Pikashunium Z.
           The Pikachu uses 10,000,000 Volt Thunderbolt.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Pikachu's attack is a Z-Move.
           We verify that the Pikachu's Z-Move is an Electric-type move.
           We verify that the Pikachu's Z-Move is 10,000,000 Volt Thunderbolt.
           We verify that the Pikachu's 10,000,000 Volt Thunderbolt has a power of 195.
       
    • testPikashuniumZFailsIfNotPikachuWithACap

      public static CompletableFuture<TestResult> testPikashuniumZFailsIfNotPikachuWithACap(BattleTestHelper helper)
      The Pikashunium Z will not upgrade a move if the user is not a Pikachu in a cap.

      In this test, a Pichu that holds a Pikashunium Z and knows the move Thunderbolt faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Pichu attempts to activate its Pikashunium Z.
           The Pichu uses Thunderbolt.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Pichu's attack is not a Z-Move.
       
    • testPrimariumZUpgradesSparklingAriaIntoOceanicOperatta

      public static CompletableFuture<TestResult> testPrimariumZUpgradesSparklingAriaIntoOceanicOperatta(BattleTestHelper helper)
      The Primarium Z allows a Primarina to upgrade its Sparkling Aria into the special Z-Move Oceanic Operatta.

      In this test, a Primarina that holds a Primarium Z and knows the move Sparkling Aria faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Primarina activates its Primarium Z.
           The Primarina uses Oceanic Operatta.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Primarina's attack is a Z-Move.
           We verify that the Primarina's Z-Move is a Water-type move.
           We verify that the Primarina's Z-Move is Oceanic Operatta.
           We verify that the Primarina's Oceanic Operatta has a power of 195.
       
    • testPrimariumZFailsIfNotPrimarina

      public static CompletableFuture<TestResult> testPrimariumZFailsIfNotPrimarina(BattleTestHelper helper)
      The Primarium Z will not upgrade a move if the user is not a Primarina.

      In this test, a Brionne that holds a Primarium Z and knows the move Sparkling Aria faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Brionne attempts to activate its Primarium Z.
           The Brionne uses Sparkling Aria.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Brionne's attack is not a Z-Move.
       
    • testSnorliumZUpgradesGigaImpactIntoPulverizingPancake

      public static CompletableFuture<TestResult> testSnorliumZUpgradesGigaImpactIntoPulverizingPancake(BattleTestHelper helper)
      The Snorlium Z allows a Snorlax to upgrade its Giga Impact into the special Z-Move Pulverizing Pancake.

      In this test, a Snorlax that holds a Snorlium Z and knows the move Giga Impact faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Snorlax activates its Snorlium Z.
           The Snorlax uses Pulverizing Pancake.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Snorlax's attack is a Z-Move.
           We verify that the Snorlax's Z-Move is a Normal-type move.
           We verify that the Snorlax's Z-Move is Pulverizing Pancake.
           We verify that the Snorlax's Pulverizing Pancake has a power of 210.
       
    • testSnorliumZFailsIfNotSnorlax

      public static CompletableFuture<TestResult> testSnorliumZFailsIfNotSnorlax(BattleTestHelper helper)
      The Snorlium Z will not upgrade a move if the user is not a Snorlax.

      In this test, a Munchlax that holds a Snorlium Z and knows the move Giga Impact faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Munchlax attempts to activate its Snorlium Z.
           The Munchlax uses Giga Impact.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Munchlax's attack is not a Z-Move.
       
    • testSolganiumZUpgradesSolgaleosSunsteelStrikeIntoSearingSunrazeSmash

      public static CompletableFuture<TestResult> testSolganiumZUpgradesSolgaleosSunsteelStrikeIntoSearingSunrazeSmash(BattleTestHelper helper)
      The Solganium Z allows a Solgaleo to upgrade its Sunsteel Strike into the special Z-Move Searing Sunraze Smash.

      In this test, a Solgaleo that holds a Solganium Z and knows the move Sunsteel Strike faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Solgaleo activates its Solganium Z.
           The Solgaleo uses Searing Sunraze Smash.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Solgaleo's attack is a Z-Move.
           We verify that the Solgaleo's Z-Move is a Steel-type move.
           We verify that the Solgaleo's Z-Move is Searing Sunraze Smash.
           We verify that the Solgaleo's Searing Sunraze Smash has a power of 200.
       
    • testSolganiumZUpgradesDuskManeNecrozmasSunsteelStrikeIntoSearingSunrazeSmash

      public static CompletableFuture<TestResult> testSolganiumZUpgradesDuskManeNecrozmasSunsteelStrikeIntoSearingSunrazeSmash(BattleTestHelper helper)
      The Solganium Z allows a Dusk Mane Necrozma to upgrade its Sunsteel Strike into the special Z-Move Searing Sunraze Smash.

      In this test, a Dusk Mane Necrozma that holds a Solganium Z and knows the move Sunsteel Strike faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Dusk Mane Necrozma activates its Solganium Z.
           The Dusk Mane Necrozma uses Searing Sunraze Smash.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Dusk Mane Necrozma's attack is a Z-Move.
           We verify that the Dusk Mane Necrozma's Z-Move is a Steel-type move.
           We verify that the Dusk Mane Necrozma's Z-Move is Searing Sunraze Smash.
           We verify that the Dusk Mane Necrozma's Searing Sunraze Smash has a power of 200.
       
    • testSolganiumZFailsIfNotNecrozma

      public static CompletableFuture<TestResult> testSolganiumZFailsIfNotNecrozma(BattleTestHelper helper)
      The Solganium Z will not upgrade a move if the user is not a Solgaleo or a Dusk Mane Necrozma.

      In this test, a Necrozma that holds a Solganium Z and knows the move Sunsteel Strike faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Necrozma attempts to activate its Solganium Z.
           The Necrozma uses Sunsteel Strike.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Necrozma's attack is not a Z-Move.
       
    • testTapuniumZUpgradesTapuBulusNaturesMadnessIntoGuardianOfAlola

      public static CompletableFuture<TestResult> testTapuniumZUpgradesTapuBulusNaturesMadnessIntoGuardianOfAlola(BattleTestHelper helper)
      The Tapunium Z allows a Tapu Bulu to upgrade its Nature's Madness into the special Z-Move Guardian of Alola.

      In this test, a Tapu Bulu that holds a Tapunium Z and knows the move Nature's Madness faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Tapu Bulu activates its Tapunium Z.
           The Tapu Bulu uses Guardian of Alola.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Tapu Bulu's attack is a Z-Move.
           We verify that the Tapu Bulu's Z-Move is a Fairy-type move.
           We verify that the Tapu Bulu's Z-Move is Guardian of Alola.
       
    • testTapuniumZUpgradesTapuFinisNaturesMadnessIntoGuardianOfAlola

      public static CompletableFuture<TestResult> testTapuniumZUpgradesTapuFinisNaturesMadnessIntoGuardianOfAlola(BattleTestHelper helper)
      The Tapunium Z allows a Tapu Fini to upgrade its Nature's Madness into the special Z-Move Guardian of Alola.

      In this test, a Tapu Fini that holds a Tapunium Z and knows the move Nature's Madness faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Tapu Fini activates its Tapunium Z.
           The Tapu Fini uses Guardian of Alola.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Tapu Fini's attack is a Z-Move.
           We verify that the Tapu Fini's Z-Move is a Fairy-type move.
           We verify that the Tapu Fini's Z-Move is Guardian of Alola.
       
    • testTapuniumZUpgradesTapuLelesNaturesMadnessIntoGuardianOfAlola

      public static CompletableFuture<TestResult> testTapuniumZUpgradesTapuLelesNaturesMadnessIntoGuardianOfAlola(BattleTestHelper helper)
      The Tapunium Z allows a Tapu Lele to upgrade its Nature's Madness into the special Z-Move Guardian of Alola.

      In this test, a Tapu Lele that holds a Tapunium Z and knows the move Nature's Madness faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Tapu Lele activates its Tapunium Z.
           The Tapu Lele uses Guardian of Alola.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Tapu Lele's attack is a Z-Move.
           We verify that the Tapu Lele's Z-Move is a Fairy-type move.
           We verify that the Tapu Lele's Z-Move is Guardian of Alola.
       
    • testTapuniumZUpgradesTapuKokosNaturesMadnessIntoGuardianOfAlola

      public static CompletableFuture<TestResult> testTapuniumZUpgradesTapuKokosNaturesMadnessIntoGuardianOfAlola(BattleTestHelper helper)
      The Tapunium Z allows a Tapu Koko to upgrade its Nature's Madness into the special Z-Move Guardian of Alola.

      In this test, a Tapu Koko that holds a Tapunium Z and knows the move Nature's Madness faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Tapu Koko activates its Tapunium Z.
           The Tapu Koko uses Guardian of Alola.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Tapu Koko's attack is a Z-Move.
           We verify that the Tapu Koko's Z-Move is a Fairy-type move.
           We verify that the Tapu Koko's Z-Move is Guardian of Alola.
       
    • testTapuniumZFailsIfNotATapu

      public static CompletableFuture<TestResult> testTapuniumZFailsIfNotATapu(BattleTestHelper helper)
      The Tapunium Z will not upgrade a move if the user is not a Tapu Bulu, Tapu Fini, Tapu Lele, or Tapu Koko.

      In this test, a Smeargle that holds a Tapunium Z and knows the move Nature's Madness faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Smeargle attempts to activate its Tapunium Z.
           The Smeargle uses Nature's Madness.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Smeargle's attack is not a Z-Move.
       
    • testUltranecroziumZUpgradesPhotonGeyserIntoLightThatBurnsTheSky

      public static CompletableFuture<TestResult> testUltranecroziumZUpgradesPhotonGeyserIntoLightThatBurnsTheSky(BattleTestHelper helper)
      The Ultranecrozium Z allows an Ultra Necrozma to upgrade its Photon Geyser into the special Z-Move Light That Burns the Sky.

      In this test, an Ultra Necrozma that holds an Ultranecrozium Z and knows the move Photon Geyser faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Ultra Necrozma activates its Ultranecrozium Z.
           The Ultra Necrozma uses Light That Burns the Sky.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Ultra Necrozma's attack is a Z-Move.
           We verify that the Ultra Necrozma's Z-Move is a Psychic-type move.
           We verify that the Ultra Necrozma's Z-Move is Light That Burns the Sky.
           We verify that the Ultra Necrozma's Light That Burns the Sky has a power of 200.
       
    • testUltranecroziumZFailsIfNotUltraNecrozma

      public static CompletableFuture<TestResult> testUltranecroziumZFailsIfNotUltraNecrozma(BattleTestHelper helper)
      The Ultranecrozium Z will not upgrade a move if the user is not an Ultra Necrozma.

      In this test, a Necrozma that holds an Ultranecrozium Z and knows the move Photon Geyser faces a Kecleon that holds a Focus Sash and knows the move Sleep Talk.

           Turn 1
           The Necrozma attempts to activate its Ultranecrozium Z.
           The Necrozma uses Photon Geyser.
           The Kecleon uses Sleep Talk.
           -
           We verify that the Necrozma's attack is not a Z-Move.
       
    • testZCrystalsCanBeUsedIfTransformedIntoTheRelevantPokemon

      public static CompletableFuture<TestResult> testZCrystalsCanBeUsedIfTransformedIntoTheRelevantPokemon(BattleTestHelper helper)
      Z-Crystals can also be used if a Pokémon is transformed into the needed Pokémon.

      In this test, a Ditto with the Imposter ability that holds a Primarium Z and knows the move Sparkling Aria faces a Primarina that holds a Focus Sash and knows the move Sparkling Aria and Sleep Talk.

           Turn 0
           The Ditto transforms into a Primarina.
           Turn 1
           The transformed Ditto activates its Primarium Z.
           The transformed Ditto uses Oceanic Operatta.
           The Primarina uses Sleep Talk.
           -
           We verify that the transformed Ditto's attack is a Z-Move.