## Tests for Balloon — state machine transitions. extends GutTest const BalloonScript = preload("res://scripts/objects/balloon.gd") var _balloon: Node2D func before_each() -> void: _balloon = BalloonScript.new() add_child_autofree(_balloon) func test_initial_state_is_idle() -> void: assert_eq(_balloon._state, BalloonScript.State.IDLE) func test_start_pop_transitions_to_popping() -> void: _balloon._start_pop() assert_eq(_balloon._state, BalloonScript.State.POPPING) func test_on_pop_complete_transitions_to_popped() -> void: _balloon._on_pop_complete() assert_eq(_balloon._state, BalloonScript.State.POPPED) func test_on_respawn_complete_transitions_to_idle() -> void: _balloon._state = BalloonScript.State.RESPAWNING _balloon._on_respawn_complete() assert_eq(_balloon._state, BalloonScript.State.IDLE)