42 lines
1.3 KiB
GDScript
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 ===")
|