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() }) })