【测试】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(无迁移注)
31 lines
1.5 KiB
TypeScript
31 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 矩阵:涌浪', () => {
|
|
it.each(Array.from({ length: 50 }, (_, k) => [k * 5 + 3 + 0] as const))(
|
|
'seed %d:经济海·库存不为负', (seed) => {
|
|
const w = mk(`涌浪-${seed}`)
|
|
for (let m = 0; m < 40; m++) w.advanceMonth()
|
|
for (const v of Object.values(w.state.family.inventory)) expect((v as number) >= 0).toBe(true)
|
|
expect(w.state.family.stones >= 0).toBe(true)
|
|
})
|
|
it.each(Array.from({ length: 50 }, (_, k) => [k * 5 + 3 + 1] as const))(
|
|
'seed %d:境界山·成员数据无 NaN', (seed) => {
|
|
const w = mk(`涌浪-${seed}`)
|
|
for (let m = 0; m < 40; m++) w.advanceMonth()
|
|
for (const c of Object.values(w.state.members)) expect(Number.isFinite(c.realmProgress)).toBe(true)
|
|
expect(Object.keys(w.state.members).length).toBeGreaterThan(0)
|
|
})
|
|
it.each(Array.from({ length: 50 }, (_, k) => [k * 5 + 3 + 2] as const))(
|
|
'seed %d:帷幄长·世界状态自持', (seed) => {
|
|
const w = mk(`涌浪-${seed}`)
|
|
for (let m = 0; m < 40; m++) w.advanceMonth()
|
|
expect(w.state.worldSim !== undefined || w.state.totalTicks === 0).toBe(true)
|
|
expect(Array.isArray(w.state.flags)).toBe(false as never) || expect(typeof w.state.flags).toBe("object")
|
|
})
|
|
})
|