二七王测试:完成 P2 用例,达成测试计划 DoD
- test_deal.js(新):§2 发牌构成——92张/去3-4共16/三家各28+底8/分值(§6.1) - test_arith.js:§3 编码排序(order_cards 降序=设计顺序、is_continuous 相邻链逐段+反例)、 §7 每档小光/过庄分界+升3级补齐 - test_paiju.js:§8.2 亮牌更多边界(6个7仅qi、固定主9→null、固定主10仅zhu) - test_config.js:§10 直接调 export.get_asetcount/get_needroomcard(_joinroom) - test_rpc.js/_rpc.js:§12 端到端(真实驱动 叫分→上庄→选主→埋牌→出牌ready)、 §9 maipai 亮牌门控 + get_deskinfo PushCards 门控 - 02-测试计划.md/README:P2 与 DoD 标记达成 全部单测 204 项断言全绿(node server/games/erqiwang/test/run.js) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -103,4 +103,27 @@ const xian5 = sz5.find(m => m.data.cards === undefined);
|
||||
t.eq('上庄5 闲家无暗牌', xian5 && xian5.data.bottomcards, undefined);
|
||||
t.eq('上庄5 无ancard3s', xian5 && xian5.data.ancard3s, undefined);
|
||||
|
||||
// ===================== §12 端到端(叫分→上庄→选主→埋牌→出牌ready) + §9 maipai/deskinfo 门控 =====================
|
||||
const E = require('../class.export.js').new();
|
||||
function driveToPlay(roomtype) {
|
||||
const pj = P.new({ paiju_list: [] }, 0);
|
||||
const c = setup(roomtype, pj);
|
||||
mod.jiaofen(pack(0, { call: 65 })); mod.jiaofen(pack(1, { call: 0 })); mod.jiaofen(pack(2, { call: 0 })); // 0上庄65
|
||||
mod.xuanzhu(pack(0, { flower: 1 })); // 选主 方块
|
||||
mod.maipai(pack(0, { cards: P.get_seat_cards(pj, 0).slice(0, 8) })); // 埋任意8张
|
||||
return { pj, ...c };
|
||||
}
|
||||
const e = driveToPlay("00000");
|
||||
t.eq('端到端 叫分→选主→埋牌→step5', e.pj.step, 5);
|
||||
t.eq('端到端 庄家首出(currseat=0)', e.pj.playproc.currseat, 0);
|
||||
t.eq('端到端 选主flower=1', e.pj.flower, 1);
|
||||
t.eq('端到端 埋牌后庄家保留28张', P.get_seat_cards(e.pj, 0).length, 28);
|
||||
// §9 maipai 亮牌门控:不查牌 → 闲家包无 liangpai
|
||||
const en = driveToPlay("00001");
|
||||
const mpXian = en.sent.filter(m => m.rpc === 'maipai').find(m => m.data.cards === undefined);
|
||||
t.eq('埋牌 不查牌 闲家无liangpai', mpXian && mpXian.data.liangpai, undefined);
|
||||
// §9 deskinfo(重连) PushCards 门控:可查牌有 seatlist、不查牌无
|
||||
t.eq('重连 可查牌 PushCards有seatlist', E.get_deskinfo(e.o_room, 1).PushCards.seatlist !== undefined, true);
|
||||
t.eq('重连 不查牌 PushCards无seatlist', E.get_deskinfo(en.o_room, 1).PushCards.seatlist, undefined);
|
||||
|
||||
process.exit(t.done('rpc') ? 0 : 1);
|
||||
|
||||
Reference in New Issue
Block a user