Files
ChronicleOfTheImmortalClan/tests/matrix-stable-0.1.34.test.ts
T
thzxx bb82947bb6 v0.1.34: 万象归元——功法流派/世界自演化/插件MOD 进化 + 测试 6000
【版本】0.1.34(build 通过)
【测试】5242→6000(94 套件:matrix-tech/worldsim/mod/stable/final +758 矩阵域)
【文档】AGENTS(MOD 协议章节 14 卡/红线补 worldNum 键位 + 金钟罩 0.1.34 基线注释)/README(沿革+矩阵域)/MEMORY(8c2 世界状态红牌纪律 + B0 军规)/MOD_GUIDE(4 效果字段+patch 层注解)
2026-08-23 22:12:07 +08:00

33 lines
1.5 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { World } from '../src/renderer/game/engine/runtime/World'
import { techniqueById } from '../src/renderer/game/data/techniques'
import { pack } from '../src/renderer/game/data/registry'
function mk(seed: string): World {
return World.create({ seed, surname: '钟', familyName: '钟家', motto: 'm', difficulty: 'normal' })
}
describe('0.1.34 矩阵:稳定', () => {
it.each(Array.from({ length: 50 }, (_, k) => [k * 5 + 7 + 0] as const))(
'seed %d:六界模块存在:无领域崩溃', (seed) => {
const w = mk(`稳定-${seed}`)
for (let m = 0; m < 24; m++) w.advanceMonth()
expect(w.state.family.inventory).toBeTruthy()
expect(Object.keys(w.state.npcFamilies).length).toBeGreaterThan(0)
})
it.each(Array.from({ length: 50 }, (_, k) => [k * 5 + 7 + 1] as const))(
'seed %d:时代演进存在:era 字段合法', (seed) => {
const w = mk(`稳定-${seed}`)
for (let m = 0; m < 24; m++) w.advanceMonth()
expect([undefined,'shengshi','pingshi','luanshi','mofa']).toContain((w.state.worldSim as any)?.era)
expect(typeof w.state.year).toBe('number')
})
it.each(Array.from({ length: 50 }, (_, k) => [k * 5 + 7 + 2] as const))(
'seed %d:家族代纪在跑:成员内有活人', (seed) => {
const w = mk(`稳定-${seed}`)
for (let m = 0; m < 24; m++) w.advanceMonth()
expect(w.aliveMembers().length).toBeGreaterThan(0)
expect(w.state.members).toBeTruthy()
})
})