32 lines
830 B
GDScript
32 lines
830 B
GDScript
## 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)
|