# Tests res://scripts/zoom_band_config.gd (NEON-26 discrete bands). extends GdUnitTestSuite const ZoomBandConfigScript := preload("res://scripts/zoom_band_config.gd") func test_empty_bands_band_count_zero() -> void: var c = ZoomBandConfigScript.new() c.band_distances = PackedFloat32Array() assert_that(c.band_count()).is_equal(0) func test_empty_bands_clamp_index_zero() -> void: var c = ZoomBandConfigScript.new() c.band_distances = PackedFloat32Array() assert_that(c.clamp_index(0)).is_equal(0) assert_that(c.clamp_index(99)).is_equal(0) func test_empty_bands_distance_at_zero() -> void: var c = ZoomBandConfigScript.new() c.band_distances = PackedFloat32Array() assert_that(c.distance_at(0)).is_equal(0.0) func test_single_band_clamp_always_zero() -> void: var c = ZoomBandConfigScript.new() c.band_distances = PackedFloat32Array([42.0]) assert_that(c.clamp_index(-1)).is_equal(0) assert_that(c.clamp_index(0)).is_equal(0) assert_that(c.clamp_index(9)).is_equal(0) func test_multi_band_clamp_and_distance_at() -> void: var c = ZoomBandConfigScript.new() c.band_distances = PackedFloat32Array([10.0, 20.0, 30.0]) assert_that(c.clamp_index(-5)).is_equal(0) assert_that(c.clamp_index(1)).is_equal(1) assert_that(c.clamp_index(99)).is_equal(2) assert_that(c.distance_at(1)).is_equal(20.0) assert_that(c.distance_at(100)).is_equal(30.0) func test_default_index_clamped_via_clamp_index() -> void: var c = ZoomBandConfigScript.new() c.band_distances = PackedFloat32Array([1.0, 2.0, 3.0]) c.default_band_index = 99 assert_that(c.clamp_index(c.default_band_index)).is_equal(2)