Files
tekton/tests/test_gauntlet_cannon_timer.gd
T

42 lines
1.3 KiB
GDScript

extends GutTest
const GauntletManager = preload("res://scripts/managers/gauntlet_manager.gd")
var gauntlet_manager: Node
var main_mock: Node
var gridmap_mock: Node
func before_all():
gut.p("=== Feature Tests [Gauntlet #4 Cannon Timer] ===")
func before_each():
main_mock = Node.new()
add_child(main_mock)
gridmap_mock = Node.new()
gridmap_mock.name = "EnhancedGridMap"
main_mock.add_child(gridmap_mock)
gauntlet_manager = GauntletManager.new()
main_mock.add_child(gauntlet_manager)
gauntlet_manager.initialize(main_mock, gridmap_mock)
func test_cannon_timer_initialization():
assert_eq(gauntlet_manager.cannon_timer, 0.0, "Timer should start at 0.0 before phase starts")
# Manually start phase to setup interval
gauntlet_manager.current_phase = 0 # GauntletManager.Phase.OPEN_ARENA
var config = gauntlet_manager.phase_configs[0]
gauntlet_manager.cannon_interval = config["interval"]
gauntlet_manager.cannon_timer = gauntlet_manager.cannon_interval
assert_eq(gauntlet_manager.cannon_timer, 5.0, "Timer should initialize to Phase 1 interval (5.0)")
func test_volley_size_configuration():
assert_eq(gauntlet_manager.phase_configs[0]["volley"], 5, "Phase 1 volley size should be 5")
func after_each():
if main_mock:
main_mock.queue_free()
func after_all():
gut.p("=== Feature Tests Complete ===")