netfishing/tests/fishing_audio_validation.gd

55 lines
1.9 KiB
GDScript3
Raw Normal View History

extends SceneTree
const FishingSpotScene := preload("res://fishing/fishing_spot.tscn")
func _initialize() -> void:
call_deferred("_run")
func _run() -> void:
var fishing_spot := FishingSpotScene.instantiate() as FishingSpot
root.add_child(fishing_spot)
await process_frame
var fight_audio := fishing_spot.get_node("%FightAudio") as AudioStreamPlayer
var bobber_audio := fishing_spot.get_node(
"%BobberAudio"
) as AudioStreamPlayer
assert(bobber_audio != null)
assert(bobber_audio.stream != null)
assert(bobber_audio.bus == &"SFX")
assert(is_equal_approx(bobber_audio.volume_db, -14.0))
var bobber_stream := bobber_audio.stream as AudioStreamWAV
assert(bobber_stream != null)
assert(bobber_stream.loop_mode == AudioStreamWAV.LOOP_DISABLED)
assert(fight_audio != null)
assert(fight_audio.stream != null)
assert(fight_audio.bus == &"SFX")
assert(is_equal_approx(fight_audio.volume_db, -10.0))
var fight_stream := fight_audio.stream as AudioStreamWAV
assert(fight_stream != null)
assert(fight_stream.loop_mode == AudioStreamWAV.LOOP_FORWARD)
assert(fight_stream.loop_end > fight_stream.loop_begin)
var reeling_audio := fishing_spot.get_node(
"%ReelingAudio"
) as AudioStreamPlayer
assert(reeling_audio != null)
assert(reeling_audio.stream != null)
assert(reeling_audio.bus == &"SFX")
assert(is_equal_approx(reeling_audio.volume_db, -10.0))
var reeling_stream := reeling_audio.stream as AudioStreamWAV
assert(reeling_stream != null)
assert(reeling_stream.loop_mode == AudioStreamWAV.LOOP_FORWARD)
assert(reeling_stream.loop_end > reeling_stream.loop_begin)
assert(fishing_spot.has_method("_start_fight_audio"))
assert(fishing_spot.has_method("_play_bobber_audio"))
assert(fishing_spot.has_method("_stop_fight_audio"))
assert(fishing_spot.has_method("_start_reeling_audio"))
assert(fishing_spot.has_method("_stop_reeling_audio"))
fishing_spot.free()
await process_frame
print("Fishing audio validation: PASS")
quit()