Spaces:
Sleeping
Sleeping
Download apps/web/src/dressing3d.test.ts from Bryan-HSLU/FP_POC: direct link, hf CLI and curl.
- Browser
- Download file 1.71 kB
-
https://huggingface.co/spaces/Bryan-HSLU/FP_POC/resolve/main/apps/web/src/dressing3d.test.ts
- Command line
-
hf download hf://spaces/Bryan-HSLU/FP_POC/apps/web/src/dressing3d.test.ts
-
curl -L -o dressing3d.test.ts https://huggingface.co/spaces/Bryan-HSLU/FP_POC/resolve/main/apps/web/src/dressing3d.test.ts
1.71 kB
| import { describe, expect, it } from "vitest"; | |
| import { dressingBauteile, DRESSING_TYPEN } from "./dressing3d-kits"; | |
| import { passtInBbox } from "./moebel3d.tsx"; | |
| // Reale Deko-Masse (Meter) aus data/dressing/bad.json + extreme Seitenverhältnisse. | |
| const MASSE: [number, number, number][] = [ | |
| [0.07, 0.07, 0.18], // Seifenspender | |
| [0.08, 0.08, 0.11], // Zahnputzbecher | |
| [0.3, 0.22, 0.14], // Handtuchstapel (flach, breit) | |
| [0.28, 0.16, 0.2], // Ablage-Tray | |
| [0.24, 0.24, 0.55], // Zimmerpflanze (schmal, hoch) | |
| [0.28, 0.09, 0.13], // Gewürzgläser-Set (sehr flach in d) | |
| [0.2, 0.28, 0.34], // Kaffeemaschine (tief) | |
| [0.3, 0.22, 0.06], // Geschirrtuch (extrem flach in h) | |
| [0.5, 0.5, 0.5], // Würfel-Kontrolle | |
| ]; | |
| describe("dressingBauteile – bbox-Treue", () => { | |
| it("hält jeden Deko-Bausatz vollständig innerhalb der bbox w×d×h", () => { | |
| for (const typ of DRESSING_TYPEN) { | |
| for (const [w, d, h] of MASSE) { | |
| const teile = dressingBauteile(typ, w, d, h); | |
| expect(teile.length, `${typ} liefert Bauteile`).toBeGreaterThan(0); | |
| expect(passtInBbox(teile, w, d, h), `${typ} bleibt in bbox`).toBe(true); | |
| } | |
| } | |
| }); | |
| it("formt bekannte Deko-Typen mehrteilig (nicht als nackte Box)", () => { | |
| for (const typ of DRESSING_TYPEN) { | |
| expect(dressingBauteile(typ, 0.3, 0.2, 0.4).length, `${typ} ist mehrteilig`).toBeGreaterThan( | |
| 1, | |
| ); | |
| } | |
| }); | |
| }); | |
| describe("dressingBauteile – Fallback", () => { | |
| it("gibt für unbekannte Typen genau die volle Box zurück", () => { | |
| expect(dressingBauteile("gibtsnicht", 0.2, 0.3, 0.4)).toEqual([ | |
| { form: "box", groesse: [0.2, 0.4, 0.3], pos: [0, 0, 0], rolle: "koerper" }, | |
| ]); | |
| }); | |
| }); | |