Adds unit test for Anchor Shot.
This commit is contained in:
		
							
								
								
									
										25
									
								
								src/ScriptTests/Moves/AMoves/AnchorShot.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/ScriptTests/Moves/AMoves/AnchorShot.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| #include <CreatureLib/Battling/Models/ExecutingAttack.hpp> | ||||
| #include <PkmnLib/Battling/Battle/Battle.hpp> | ||||
| #include <PkmnLib/Battling/Pokemon/CreatePokemon.hpp> | ||||
| #include "../../../../extern/doctest.hpp" | ||||
| #include "../../Macros/MoveMacros.hpp" | ||||
|  | ||||
|  | ||||
| TEST_CASE("Anchor Shot - Locks pokemon in") { | ||||
|     SETUP_MOVE_TEST(Anchor_Shot) | ||||
|  | ||||
|     script->OnSecondaryEffect(executingMove, targetMon, 0); | ||||
|     REQUIRE(userMon->HasVolatileScript("PreventFoeRunning"_cnc)); | ||||
|  | ||||
|     auto preventRun = false; | ||||
|     auto runChoice = CreatureLib::Battling::FleeTurnChoice(targetMon); | ||||
|     auto aggregator = userMon->GetScriptIterator(); | ||||
|     while (aggregator.HasNext()) { | ||||
|         auto next = aggregator.GetNext(); | ||||
|         auto castNext = next.ForceAs<PkmnLib::Battling::PkmnScript>(); | ||||
|         castNext->PreventOpponentRunAway(&runChoice, &preventRun); | ||||
|     } | ||||
|     CHECK(preventRun); | ||||
|  | ||||
|     CLEANUP_MOVE_TEST | ||||
| } | ||||
		Reference in New Issue
	
	Block a user