8 lines
791 B
TypeScript
8 lines
791 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { generateFloor, validateFloor } from '../../packages/dungeon-generator/src/index.js'
|
|
|
|
describe('AT-021 deterministic floor generation',()=>{
|
|
it('returns the same floor for the same seed',()=>expect(generateFloor('same')).toEqual(generateFloor('same')))
|
|
it('generates 500 valid connected floors with variation',()=>{const floors=Array.from({length:500},(_,i)=>generateFloor(`seed-${i}`));expect(floors.every(validateFloor)).toBe(true);expect(new Set(floors.map(f=>`${f.width}x${f.height}:${f.spawnTiles[0]?.y}:${f.exitPosition.y}`)).size).toBeGreaterThan(20);for(const f of floors){expect(f.tiles.flat().filter(t=>t==='exit')).toHaveLength(1);expect(f.tiles[f.goblinGuardPosition.y]?.[f.goblinGuardPosition.x]).not.toBe('wall')}})
|
|
})
|