diff --git a/game/tests/unit/core/level_shop_economy_test.gd b/game/tests/unit/core/level_shop_economy_test.gd index 4eefdd2a..df6db8ed 100644 --- a/game/tests/unit/core/level_shop_economy_test.gd +++ b/game/tests/unit/core/level_shop_economy_test.gd @@ -70,7 +70,11 @@ func _smoke_generated_coverage() -> void: dmax = maxi(dmax, d) var kind := String(n["type"]) if kind == "battle" or kind == "boss": - if _db.resolve_enemy_rowset(L, d, "boss" if kind == "boss" else "battle").is_empty(): + var rk := "boss" if kind == "boss" else "battle" + var rs0: Array[Dictionary] = _db.resolve_enemy_rowset(L, d, rk) + # 判据=解析落带 ≥ 请求深度(等价 EnemyTable.band_of 非 -1)——行集非空不是覆盖判据, + # 越顶时 resolver 会 clamp 到顶带照样返回非空行(顶 clamp 消解正是设计禁的) + if rs0.is_empty() or int(rs0[0].get("depth_band", -1)) < d: enemy_ok = false var board: Dictionary = _db.resolve_board_gen(L, d) if board.is_empty() or int(board.get("node_depth", -1)) != d: @@ -86,7 +90,7 @@ func _smoke_generated_coverage() -> void: boss_band_ok = false readings.append("L%d 深度域 %d–%d" % [L, dmin, dmax]) print("[v11] 生成图覆盖量程读数:" + "; ".join(readings)) - Kit.check("生成图每个 battle/boss 节点深度在敌表解析到非空行集(顶 clamp 消解禁)〔v11〕", enemy_ok) + Kit.check("生成图每个 battle/boss 节点深度的敌侧解析落带 ≥ 请求深度(band_of 非 -1·顶 clamp 消解禁)〔v11〕", enemy_ok) Kit.check("生成图每个节点深度在 board_gen 精确命中(非空且 node_depth 等值)〔v11〕", board_ok) Kit.check("多终点 Boss 各终点解析带键两两互异(L2/L3×20 种子)〔v11〕", boss_band_ok)