fix(sim): 빈 인카운터 즉시 승리·타겟 타이브레이크 결정성·주석·draw/empty 테스트
This commit is contained in:
@@ -90,6 +90,23 @@ test('simulateCombat: 강한 다수 적이면 패배 가능', () => {
|
||||
assert.ok(losses >= 1, `강한 적엔 패배가 나와야 함, 실제 패 ${losses}/30`);
|
||||
});
|
||||
|
||||
test('simulateCombat: 턴 상한 초과 시 draw 반환', () => {
|
||||
const immortal = {
|
||||
cards: { Defend: { name: '방어', cost: 1, kind: 'Skill', block: 5 } },
|
||||
starterDeck: Array(10).fill('Defend'),
|
||||
monsters: [{ name: '불사', maxHp: 9999, intents: [{ kind: 'Attack', value: 1 }] }],
|
||||
};
|
||||
const r = simulateCombat(immortal, mulberry32(1));
|
||||
assert.equal(r.draw, true);
|
||||
assert.equal(r.win, false);
|
||||
});
|
||||
|
||||
test('simulateCombat: 몬스터 없으면 즉시 승리', () => {
|
||||
const r = simulateCombat({ cards: {}, starterDeck: [], monsters: [] }, mulberry32(1));
|
||||
assert.equal(r.win, true);
|
||||
assert.equal(r.turns, 0);
|
||||
});
|
||||
|
||||
test('runBatch: 집계 필드·승률 범위', () => {
|
||||
const r = runBatch(100, 1);
|
||||
assert.equal(r.N, 100);
|
||||
|
||||
Reference in New Issue
Block a user