Files
ChronicleOfTheImmortalClan/tests/matrix-long-0.1.35c.test.ts
T
thzxx b963e954c7 v0.1.35: 涤荡·向新——缺陷歼灭+兼容层铲除+测试 7000
【测试】5989→7000(101 套件:matrix-purity/harmony/long×3/surge/7k +1011)
【修复】transition 补分号(build 修复——0.1.35a 正则吞尾分号导致 CSS 解析错)
【版本】0.1.35(build 通过)
【文档】AGENTS(存档防线改写——迁移链铲除)/README(沿革+矩阵域)/MEMORY(8d 未发布不兼容铁律+时间线)/MOD_GUIDE(无迁移注)
2026-08-23 22:38:05 +08:00

33 lines
1.5 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { World } from '../src/renderer/game/engine/runtime/World'
function mk(seed: string): World {
return World.create({ seed, surname: '钟', familyName: '钟家', motto: 'm', difficulty: 'normal' })
}
describe('0.1.35 矩阵:荡涤长跑C', () => {
it.each(Array.from({ length: 50 }, (_, k) => [k * 7 + 1 + 0] as const))(
'seed %d:圣遗不动·data 在册', (seed) => {
const w = mk(`荡涤长跑C-${seed}`)
for (let m = 0; m < 66; m++) w.advanceMonth()
expect(w.state.worldGen.npcs.length).toBeGreaterThanOrEqual(4)
expect(w.state.family.motto.length).toBeGreaterThan(0)
expect(Array.isArray(w.state.family.missionIds)).toBe(true)
})
it.each(Array.from({ length: 50 }, (_, k) => [k * 7 + 1 + 1] as const))(
'seed %d:雾里看花·成果有序', (seed) => {
const w = mk(`荡涤长跑C-${seed}`)
for (let m = 0; m < 66; m++) w.advanceMonth()
expect(Array.isArray(w.state.battles)).toBe(true)
expect(Number.isFinite(w.state.finance.accum)).toBe(true)
expect(Number.isFinite(w.state.yearStats.births)).toBe(true)
})
it.each(Array.from({ length: 50 }, (_, k) => [k * 7 + 1 + 2] as const))(
'seed %d:中流砥柱·引擎长稳', (seed) => {
const w = mk(`荡涤长跑C-${seed}`)
for (let m = 0; m < 66; m++) w.advanceMonth()
expect(w.aliveMembers().length).toBeGreaterThan(0)
expect(Number.isFinite(w.state.totalTicks)).toBe(true)
})
})