extends "res://tests/test_case.gd" const AudioManager = preload("res://scripts/audio_manager.gd") func test_audio_intensity_fails_closed_and_clamps() -> void: assert_eq(AudioManager.clamp_intensity(-1.0), 0.0, "negative impact is silent") assert_eq(AudioManager.clamp_intensity(INF), 0.0, "infinite impact is silent") assert_eq(AudioManager.clamp_intensity(0.5), 0.5, "normal impact is retained") assert_eq(AudioManager.clamp_intensity(4.0), 1.0, "oversized impact is capped") func test_countdown_frequency_has_bounded_monotonic_mapping() -> void: assert_eq(AudioManager.countdown_frequency(0), 495.0, "zero uses the first safe tone") assert_eq(AudioManager.countdown_frequency(3), 605.0, "countdown tone is deterministic") assert_eq(AudioManager.countdown_frequency(99), 935.0, "large countdown values are capped") assert_true(AudioManager.countdown_frequency(2) < AudioManager.countdown_frequency(3), "countdown tones rise predictably") func test_button_binding_is_idempotent() -> void: var manager := AudioManager.new() var button := Button.new() manager.bind_button(button) manager.bind_button(button) assert_eq(button.pressed.get_connections().size(), 1, "UI click hook is not duplicated") button.free() manager.free()