extends GutTest var waves: Array = [] func before_all(): waves = DataLoader.load_waves() func test_has_31_waves(): assert_eq(waves.size(), 31) func test_wave_numbers_sequential(): for i in range(waves.size()): assert_eq(waves[i].get("wave_number"), i + 1) func test_all_waves_have_required_fields(): for wave in waves: assert_true(wave.has("creep_hp"), "Missing creep_hp in wave %d" % wave.get("wave_number")) assert_true(wave.has("creep_count"), "Missing creep_count in wave %d" % wave.get("wave_number")) assert_true(wave.has("bounty"), "Missing bounty in wave %d" % wave.get("wave_number")) func test_final_wave_is_boss(): var final = waves[30] assert_eq(final.get("wave_number"), 31) assert_gt(final.get("creep_hp"), 10000)