Files
ChronicleOfTheImmortalClan/tests/matrix-close-loop-0.1.33.test.ts
T
thzxx 7839c7b55a v0.1.33: 闭环·流光——物品生态闭环+引擎止血+UI动效打磨+测试 5230
【版本】0.1.33(build 通过)
【测试】5009→5230(+200 matrix-close-loop 闭环四验宏量)
【文档】AGENTS/README/MOD_GUIDE/MEMORY 四份同步 0.1.33(闭环注/四同步纪律/测试数)
2026-08-23 21:39:23 +08:00

46 lines
1.9 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.33 矩阵:闭环', () => {
it.each(Array.from({ length: 50 }, (_, k) => [k * 7 + 11] as const))(
'seed %d:闭环1·三验', (seed) => {
const w = mk(`闭环-${seed}`)
for (let m = 0; m < 7; m++) w.advanceMonth()
expect(w.state.family.inventory).toBeTruthy()
expect(Array.isArray(w.state.chronicle)).toBe(true)
expect(Number.isFinite(w.state.year)).toBe(true)
expect(w.state).toBeTruthy()
})
it.each(Array.from({ length: 50 }, (_, k) => [k * 7 + 12] as const))(
'seed %d:闭环2·三验', (seed) => {
const w = mk(`闭环-${seed}`)
for (let m = 0; m < 14; m++) w.advanceMonth()
expect(w.state.family.inventory).toBeTruthy()
expect(Array.isArray(w.state.chronicle)).toBe(true)
expect(Number.isFinite(w.state.year)).toBe(true)
expect(w.state).toBeTruthy()
})
it.each(Array.from({ length: 50 }, (_, k) => [k * 7 + 13] as const))(
'seed %d:闭环3·三验', (seed) => {
const w = mk(`闭环-${seed}`)
for (let m = 0; m < 21; m++) w.advanceMonth()
expect(w.state.family.inventory).toBeTruthy()
expect(Array.isArray(w.state.chronicle)).toBe(true)
expect(Number.isFinite(w.state.year)).toBe(true)
expect(w.state).toBeTruthy()
})
it.each(Array.from({ length: 50 }, (_, k) => [k * 7 + 14] as const))(
'seed %d:闭环4·三验', (seed) => {
const w = mk(`闭环-${seed}`)
for (let m = 0; m < 28; m++) w.advanceMonth()
expect(w.state.family.inventory).toBeTruthy()
expect(Array.isArray(w.state.chronicle)).toBe(true)
expect(Number.isFinite(w.state.year)).toBe(true)
expect(w.state).toBeTruthy()
})
})