二七王测试:完成 P0 用例(正常跟牌/结算集成/叫分坐庄/扣底触发)

- test_follow.js(新):§5.1/5.2 正常跟牌/毙牌/垫牌 17 例——单张/对子/拖拉机的
  必出、缺门毙牌数量对应(副单→主单/副对→主对/副N连→主N连)、垫牌、有对/拖却出散张被拒
- test_callgrade.js(新):§4.2 叫分坐庄 do_callgrade 6 例(叫5立即/两家不叫/后叫更低)
- test_paiju.js:§7/§8 结算集成扩充(大光/过庄/升级/爬坡/傍王+算奖参与/对照)、
  §6.3 扣底触发 get_bottom_account(主对×2/两连对×4/副牌不扣/庄赢不扣)
- 02-测试计划.md/README:P0 全部标记完成

全部单测 123 项断言全绿(node server/games/erqiwang/test/run.js)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-05 01:03:01 +08:00
co-authored by Claude Opus 4.8
parent 5a5165a319
commit 0049754988
5 changed files with 145 additions and 30 deletions
@@ -102,11 +102,13 @@
## 2. 待补用例清单(按优先级)
### P0 · 规则/金额关键、且当前零覆盖
1. **§5.1/5.2 正常跟牌/毙牌/垫牌**(`get_followcard`/`can_followcard`)——最大缺口。单张/对子/拖拉机的必出与毙牌数量对应、垫牌、缺牌型拒绝,正反边界全套。
2. **§7/§8 结算集成扩充**(`get_paiju_account`,L2)——大光/过庄/各升级级数、爬坡局、傍王局、算奖参与(庄含奖 + 闲傍王)、投降 36 张快照、末局触发大局结算。
3. **§4.2 叫分坐庄**(`do_callgrade`,L1)——叫5上庄、两家不叫上庄、后叫更低约束、首家必叫的判定序列。
4. **§6.3 扣底触发**(`get_bottom_account`,L2)——闲家主牌赢末轮才扣底/翻倍;非主牌赢或庄赢不扣。
### P0 · 规则/金额关键 —— ✅ 已完成
1. ✅ **§5.1/5.2 正常跟牌/毙牌/垫牌**(`can_followcard`,`test_follow.js` 17 例)——单张/对子/拖拉机的必出、毙牌数量对应(副单→主单/副对→主对/副N连→主N连)、垫牌、"有对/拖却出散张"被拒,正反边界齐全。
2. ✅ **§7/§8 结算集成扩充**(`get_paiju_account`,`test_paiju.js`)——大光/过庄/升2级、爬坡局、傍王局(庄3王,N=4)、不傍王对照、投降,逐档验证 seatlist 各家 grade。
3. ✅ **§4.2 叫分坐庄**(`do_callgrade`,`test_callgrade.js` 6 例)——叫5立即上庄、两家不叫上庄、后叫更低→最低者上庄、不同首家。
4. ✅ **§6.3 扣底触发**(`get_bottom_account`,`test_paiju.js`)——闲家主对/两连对赢末轮才扣底(×2/×4);副牌赢、庄家赢均不扣。
> 注:§4.2 中 `mod.jiaofen` 的**入参校验**(>70/非5倍/首家必叫/后叫更低)属 L3,随投降/暗牌/查牌门控一起在 P1 补。
### P1 · 规则关键、当前间接覆盖或需 mock
5. **§9 查牌门控 + mingpai**(L3,需 mod RPC 脚手架)——info/baozhu/liangpai 按 `nocheck` 门控、明牌 RPC 条件。
@@ -142,6 +144,10 @@
## 5. 当前状态小结
已覆盖(✅):§5.4 甩牌全套、§5.4.4 跟甩牌、§6.3 扣底倍数、§7 算子(常规+爬坡各档)、§8.1 算奖 get_chongguan、§10.1 位串/局数扣卡。共 89 项断言。
**共 123 项断言全绿**(`test_arith` 69 / `test_callgrade` 6 / `test_config` 12 / `test_follow` 17 / `test_paiju` 19)。
主要缺口(❌):**§5.1/5.2 正常跟牌毙牌垫牌(最大)**、§4 叫分坐庄/投降/暗牌/轮庄、§9 查牌门控/明牌、§7/§8 结算集成扩充、§6.3 扣底触发、§2/§3 专测、§12 端到端一局。缺口集中在 **L2 局内集成**与 **L3 RPC 层**,二者共需先搭 `_harness`/RPC 捕获脚手架(见 §3)。
已覆盖(✅):§5.1/5.2 正常跟牌毙牌垫牌、§5.4 甩牌全套、§5.4.4 跟甩牌、§6.3 扣底倍数+触发、§7 算子(常规+爬坡)、§7/§8 结算集成(大光/过庄/升级/爬坡/傍王/算奖参与/投降)、§8.1 算奖 get_chongguan、§8.2 亮牌、§4.2 叫分坐庄 do_callgrade、§10.1 位串/局数扣卡。**P0 全部完成。**
剩余(P1/P2):
- **L3 RPC 层**(需先搭 RPC 捕获脚手架,见 §3):§9 查牌门控/明牌、§4 投降 handler/暗牌亮牌下发、§4.2 `mod.jiaofen` 入参校验、§4.6 坐庄轮换。
- **L1/L2 补强**:§2 牌局构成专测、§3 编码/排序专测、§8.2 亮牌更多阈值、§7 算子每档分界与升3级、§12 端到端一局。