76 lines
2.0 KiB
GDScript
76 lines
2.0 KiB
GDScript
## Tests for Character System v2 — animation state, outfit layers, hand slots.
|
|
extends GutTest
|
|
|
|
var _char: Character
|
|
|
|
|
|
func before_each() -> void:
|
|
_char = preload("res://scenes/characters/Character.tscn").instantiate() as Character
|
|
add_child_autofree(_char)
|
|
var cd: CharacterData = CharacterData.new()
|
|
_char.data = cd
|
|
|
|
|
|
func test_animated_sprite_node_exists() -> void:
|
|
assert_not_null(_char.get_node_or_null("AnimatedSprite2D"))
|
|
|
|
|
|
func test_outfit_layer_1_node_exists() -> void:
|
|
assert_not_null(_char.get_node_or_null("OutfitLayer1"))
|
|
|
|
|
|
func test_outfit_layer_2_node_exists() -> void:
|
|
assert_not_null(_char.get_node_or_null("OutfitLayer2"))
|
|
|
|
|
|
func test_outfit_layer_3_node_exists() -> void:
|
|
assert_not_null(_char.get_node_or_null("OutfitLayer3"))
|
|
|
|
|
|
func test_hand_left_node_exists() -> void:
|
|
assert_not_null(_char.get_node_or_null("HandLeft"))
|
|
|
|
|
|
func test_hand_right_node_exists() -> void:
|
|
assert_not_null(_char.get_node_or_null("HandRight"))
|
|
|
|
|
|
func test_snap_receiver_node_exists() -> void:
|
|
assert_not_null(_char.get_node_or_null("SnapReceiver"))
|
|
|
|
|
|
func test_character_data_outfit_has_three_empty_slots() -> void:
|
|
assert_eq(_char.data.outfit.size(), 3)
|
|
assert_eq(_char.data.outfit[0], "")
|
|
assert_eq(_char.data.outfit[1], "")
|
|
assert_eq(_char.data.outfit[2], "")
|
|
|
|
|
|
func test_default_animation_state_is_idle() -> void:
|
|
assert_eq(_char.get_animation_state(), "idle")
|
|
|
|
|
|
func test_set_animation_state_sitting() -> void:
|
|
_char.set_animation_state("sitting")
|
|
assert_eq(_char.get_animation_state(), "sitting")
|
|
|
|
|
|
func test_set_animation_state_lying() -> void:
|
|
_char.set_animation_state("lying")
|
|
assert_eq(_char.get_animation_state(), "lying")
|
|
|
|
|
|
func test_set_animation_state_held() -> void:
|
|
_char.set_animation_state("held")
|
|
assert_eq(_char.get_animation_state(), "held")
|
|
|
|
|
|
func test_set_animation_state_happy() -> void:
|
|
_char.set_animation_state("happy")
|
|
assert_eq(_char.get_animation_state(), "happy")
|
|
|
|
|
|
func test_set_animation_state_sleeping() -> void:
|
|
_char.set_animation_state("sleeping")
|
|
assert_eq(_char.get_animation_state(), "sleeping")
|