iter51-卡1
This commit is contained in:
1 parent
61995733f7
commit
1cd6e2b1b0
21 files changed
+68
-93
No files matched your search
@@ -210,7 +210,7 @@ func _suites() -> Array:
|
||||
{"path": "res://tests/unit/battle_settlement/roll_multiplier_test.gd", "expect": 0}, # 掷点与乘区宿主(敌攻击类型轴/护甲掷点行为面/乘区接线/伤害类型克制与标错/fresh 池攻击链——批 B 自 smoke_all 迁入)
|
||||
{"path": "res://tests/unit/battle_settlement/seal_polarity_test.gd", "expect": 0}, # 封印与极性宿主(末点 AP 封印/封印不可逆四情况/清图奖励双份与弱形式/刷新 provenance 守卫/极性路由与封印溢价/负向字典/格面资源资格——批 B 自 smoke_all 迁入)
|
||||
{"path": "res://tests/unit/battle_settlement/round_flow_skill_pool_test.gd", "expect": 0}, # 轮内流与技能池宿主(全战斗回放/轮内刷新与 V5 快照单源/遭遇区间骰/结算五段全序/技能池数据面·回放独立·EV 锚·死亡打断·校验拒绝/妨害附加/四桶计数——批 B 自 smoke_all 迁入)
|
||||
{"path": "res://tests/unit/battle_settlement/refresh_feats_test.gd", "expect": 0}, # 换图系专长七件宿主(迭代 46 卡A——基座产 RAP 与折价同源/成功事实恰一次/全局受伤四路径恰一次/石层缓冲/崩壁延迟/蓄力层/坑道小憩/矿道红利 GP/七件数据与牌库/无专长基线;原经卡片申报走 02 关联档选跑,卡片退役后补登记由 02 全套件承接)
|
||||
{"path": "res://tests/unit/battle_settlement/refresh_feats_test.gd", "expect": 0}, # 换图系专长七件宿主(迭代 46 卡A——基座产 RAP 与折价同源/成功事实恰一次/全局受伤四路径恰一次/石层缓冲/崩壁延迟/蓄力周转/坑道小憩/矿道红利 GP/七件数据与牌库/无专长基线;原经卡片申报走 02 关联档选跑,卡片退役后补登记由 02 全套件承接)
|
||||
{"path": "res://tests/unit/battle_settlement/variant_placement_test.gd", "expect": 0}, # 变异布置宿主(战内布置段门控与数量公式/全局变异兜底回落与资源面偏斜——批 B 自 smoke_all 迁入)
|
||||
{"path": "res://tests/unit/battle_settlement/skill_unlock_test.gd", "expect": 0}, # Boss 半血解锁技·容器机制(门谓词/闩不可逆/双面过滤/保底不逼锁定/零扰动)
|
||||
{"path": "res://tests/unit/battle_settlement/extended_row_violation_test.gd", "expect": 1, "negative": true}, # 卡④ wr2-np 扩展行必载 effect_id 负路径(行协议运行期违约面首个负面套件——独立进程豁免错误扫描)
|
||||
|
||||
@@ -13,7 +13,7 @@ const ConfigDBScript := preload("res://core/config_db.gd")
|
||||
const EffectEngineScript := preload("res://core/effect_engine.gd")
|
||||
|
||||
const TEST_SEED := 42 # 夹具种子(基建值非玩法数值——同种子两跑对比的隔离前提)
|
||||
const LAYER_COUNTER := "swap_charge_layers" # 整备军备蓄力层计数器(feats.tres charge_rotation 行)
|
||||
const LAYER_COUNTER := "swap_charge_layers" # 蓄力周转计数器(feats.tres swap_charge_layers 行)
|
||||
|
||||
var _db
|
||||
|
||||
@@ -54,7 +54,7 @@ func _hero_attack_value(rows: Array) -> int:
|
||||
|
||||
func _smoke_effect_port_wiring() -> void:
|
||||
print("--- 效果端口:装配链单实例+真实发射路由 ---")
|
||||
# 充能跑(整备军备在册——attack_commit 订阅行 attack_bonus per 蓄力层计数器)
|
||||
# 充能跑(蓄力周转 charge_rotation 在册——attack_commit 订阅行 attack_bonus per 蓄力周转计数器)
|
||||
var orch_c = _orch(TEST_SEED)
|
||||
var rows_c: Array = []
|
||||
orch_c.step_row.connect(func(row): rows_c.append(row))
|
||||
@@ -64,7 +64,7 @@ func _smoke_effect_port_wiring() -> void:
|
||||
var port_a = orch_c.action_economy._port
|
||||
Kit.check("V1 端口在座(damage/action_economy 双绑)", port_d != null and port_a != null)
|
||||
Kit.check("V1 端口单实例(两业务类持同一 EffectPort)", port_d == port_a)
|
||||
# 蓄力层预置 3(调试注入两层·数据面粒度——计数器账面直写,与 refresh_feats_test V8 同法)
|
||||
# 蓄力周转预置 3(调试注入两层·数据面粒度——计数器账面直写,与 refresh_feats_test V8 同法)
|
||||
EffectEngineScript.counter_add(orch_c.fx_host().counters_ctx, LAYER_COUNTER, 3)
|
||||
# 最小回合:停手即轮末结算(主角先手攻击在战斗段同步兑付——零 await 同步链)
|
||||
orch_c.minesweeper.settle_batch([{"action": "stop"}])
|
||||
@@ -80,7 +80,7 @@ func _smoke_effect_port_wiring() -> void:
|
||||
orch_0.minesweeper.settle_batch([{"action": "stop"}])
|
||||
var v_0 := _hero_attack_value(rows_0)
|
||||
Kit.check("V1 对照跑攻击行在流", v_0 >= 0)
|
||||
Kit.check("V1 delta 读数非零(蓄力层加算进入主角攻击基值)", v_c - v_0 >= 1)
|
||||
Kit.check("V1 delta 读数非零(蓄力周转加算进入主角攻击基值)", v_c - v_0 >= 1)
|
||||
|
||||
|
||||
# ---- V2 业务类零引擎直连(源码契约锚——theme_projection_test 源码锚惯例)----
|
||||
@@ -100,7 +100,7 @@ func _test_biz_fact_face_closed() -> void:
|
||||
print("--- 效果端口:业务发射事实面闭集 ---")
|
||||
var orch = _orch(TEST_SEED)
|
||||
Kit.check("V3 begin_battle 受理", orch.begin_battle(_enc([])))
|
||||
# 合成行直改数据面(调试注入两层·数据面粒度):effect 段逐字抄现役铁壁 shield 表行(kind/value 零推表);
|
||||
# 合成行直改数据面(调试注入两层·数据面粒度):effect 段逐字抄现役 shield 表行(kind/value 零推表);
|
||||
# rebuild 走持有 id 过滤真实表行——合成行经直改表行进入装载域(订阅面换代为合成行独占,确定性)
|
||||
var pos_id := "probe_shield_pos"
|
||||
var neg_id := "probe_shield_neg"
|
||||
@@ -127,3 +127,5 @@ func _test_biz_fact_face_closed() -> void:
|
||||
ctrl.flush_submit(t_b)
|
||||
var hp2 := int(ctrl.units.hero_unit().get("hp", 0))
|
||||
Kit.check("V3 阴性对照:battle_index 不答——零减量(10→10,事实面未扩)", hp1 - hp2 == 10)
|
||||
# 闭面收窄 V4(键退役验收——经 begin_battle 真实装配链取宿主应答;键在→返 0,键退役→null)
|
||||
Kit.check("V4 闭面收窄:charge_layers 键退役——宿主事实应答 null", orch.fx_host().biz_fact("charge_layers") == null)
|
||||
@@ -129,19 +129,19 @@ func _init() -> void:
|
||||
ae6.queue_ap_delta(4 - int(db.run.action_economy.ap_per_round)) # 排队修正到测试口径 4 AP(notify_round_start 兑现)
|
||||
ae6.notify_round_start()
|
||||
ae6.request_stop()
|
||||
ae6.finish_round_stop(false, 100)
|
||||
ae6.finish_round_stop(100)
|
||||
Kit.check_quiet(ae6.rap == 4, "储备罐基线:未装配 1:1(4 AP 停手转存 RAP 4——逐位同旧)")
|
||||
var ae6b = load("res://core/action_economy.gd").new(db)
|
||||
ae6b.queue_ap_delta(4 - int(db.run.action_economy.ap_per_round))
|
||||
ae6b.notify_round_start()
|
||||
ae6b.request_stop()
|
||||
ae6b.finish_round_stop(false, 125)
|
||||
ae6b.finish_round_stop(125)
|
||||
Kit.check_quiet(ae6b.rap == 5, "储备罐正常:125% 转存(4 AP→RAP 5=1.25:1 整除口径;不碰 AP 上限)")
|
||||
var ae6c = load("res://core/action_economy.gd").new(db)
|
||||
ae6c.queue_ap_delta(3 - int(db.run.action_economy.ap_per_round))
|
||||
ae6c.notify_round_start()
|
||||
ae6c.request_stop()
|
||||
ae6c.finish_round_stop(false, 125)
|
||||
ae6c.finish_round_stop(125)
|
||||
Kit.check_quiet(ae6c.rap == 3, "储备罐边界:3 AP→3(floor 3.75——不越参数面直改停手结算)")
|
||||
|
||||
# ⑦ 巢穴预告(装板后一次报数量——明细行经 step_row 信号收集)
|
||||
|
||||
Reference in new issue
Block a user