
> grimorio-12-flyweight@0.1.0 test
> npm run build && node --test dist/test/*.test.js dist/solution/*.test.js


> grimorio-12-flyweight@0.1.0 build
> npm run clean && tsc -p tsconfig.json


> grimorio-12-flyweight@0.1.0 clean
> node -e "require('node:fs').rmSync('dist', { recursive: true, force: true })"

✔ os modelos comparados preservam os mesmos dados e divergem só no compartilhamento (0.66175ms)
✔ variar cardinalidade preserva posições e muda a quantidade de essências compartilhadas (0.344875ms)
✔ fábrica compartilha a mesma identidade por tipo e distingue tipos (0.621667ms)
✔ essência é realmente imutável e seu estado não inclui posição (0.306792ms)
✔ mover uma aparição não move outra com a mesma essência (0.1005ms)
✔ posições de entrada e de movimento não deixam alias mutável (0.057708ms)
✔ tipo constructor é recusado sem alterar a tabela (0.162292ms)
✔ tipo __proto__ é recusado sem alterar a tabela (0.033167ms)
✔ tipo toString é recusado sem alterar a tabela (0.032459ms)
✔ tipo sombra é recusado sem alterar a tabela (0.03025ms)
✔ coordenada inválida falha antes de substituir posição válida (0.086666ms)
✔ não aceita essência mutável estruturalmente compatível (0.07475ms)
ℹ tests 12
ℹ suites 0
ℹ pass 12
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 83.940208
