From bb6a4a3e6d7ad146ea6dd0289dc4e92b81c83755 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Sun, 29 Aug 2021 17:49:29 +0200 Subject: [PATCH] Unit tests for assist, update tester --- Scripts/Moves/Assist.as | 35 ++++++++++++++++++++++++++++++++++- fetch_tester.sh | 2 +- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/Scripts/Moves/Assist.as b/Scripts/Moves/Assist.as index bf6b1bd..900020c 100644 --- a/Scripts/Moves/Assist.as +++ b/Scripts/Moves/Assist.as @@ -11,6 +11,7 @@ namespace Gen7 { for (int i = 0; i < party.Length; i++){ auto mon = party.GetAtIndex(i); if (mon is null){ continue; } + if (mon is user){ continue; } auto moves = mon.GetMoves(); for (uint j = 0; j < moves.length; j++){ auto m = moves[j]; @@ -37,7 +38,39 @@ void Assist_ChangesMove(){ auto p2 = CreateSimpleParty({"venusaur", "pikachu"}, 100); auto battle = CreateSimpleBattle(684, p1, p2); - + p1.GetAtIndex(1).LearnMove("bubble_beam"); + auto choice = CreateMoveTurnChoice("assist", p1.GetAtIndex(0), 1, 0); + constString moveName = "assist"; + auto script = cast(CreateMoveScript("Assist")); + script.ChangeAttack(choice, moveName); + RequireEquals("bubble_beam", moveName); +} + +[Test name="Assist: Doesn't switch when move can't be copied"] +void Assist_CantSwitchIntoNonCopyable(){ + auto p1 = CreateSimpleParty({"charizard", "blastoise"}, 100); + auto p2 = CreateSimpleParty({"venusaur", "pikachu"}, 100); + + auto battle = CreateSimpleBattle(684, p1, p2); + p1.GetAtIndex(1).LearnMove("dig"); + auto choice = CreateMoveTurnChoice("assist", p1.GetAtIndex(0), 1, 0); + constString moveName = "assist"; + auto script = cast(CreateMoveScript("Assist")); + script.ChangeAttack(choice, moveName); + RequireEquals("assist", moveName); +} + +[Test name="Assist: Doesn't switch if no move"] +void Assist_CantSwitchWhenNoOptions(){ + auto p1 = CreateSimpleParty({"charizard", "blastoise"}, 100); + auto p2 = CreateSimpleParty({"venusaur", "pikachu"}, 100); + + auto battle = CreateSimpleBattle(684, p1, p2); + auto choice = CreateMoveTurnChoice("assist", p1.GetAtIndex(0), 1, 0); + constString moveName = "assist"; + auto script = cast(CreateMoveScript("Assist")); + script.ChangeAttack(choice, moveName); + RequireEquals("assist", moveName); } #endif \ No newline at end of file diff --git a/fetch_tester.sh b/fetch_tester.sh index 43e1a27..466d8b4 100755 --- a/fetch_tester.sh +++ b/fetch_tester.sh @@ -1,6 +1,6 @@ #!/bin/sh -TESTERVERSION=0.0.2 +TESTERVERSION=0.0.2.1 # Get the release information from the api for the specified version curl -X GET "https://git.p-epsilon.com/api/v1/repos/Deukhoofd/PokemonScriptTester/releases/tags/$TESTERVERSION" -H "accept: application/json" |