Files
webeditor3d/tests/serialization/whitebox-primitives-json.test.ts

45 lines
1.2 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
createConeBrush,
createRadialPrismBrush,
createTorusBrush,
createWedgeBrush
} from "../../src/document/brushes";
import { createEmptySceneDocument } from "../../src/document/scene-document";
import {
parseSceneDocumentJson,
serializeSceneDocument
} from "../../src/serialization/scene-document-json";
describe("whitebox primitive scene JSON", () => {
it("round-trips wedge, cylinder, cone, and torus brushes through scene JSON", () => {
const document = createEmptySceneDocument({ name: "Primitive Scene" });
const wedge = createWedgeBrush({
id: "brush-wedge-json"
});
const cylinder = createRadialPrismBrush({
id: "brush-cylinder-json",
sideCount: 12
});
const cone = createConeBrush({
id: "brush-cone-json",
sideCount: 12
});
const torus = createTorusBrush({
id: "brush-torus-json",
majorSegmentCount: 16,
tubeSegmentCount: 8
});
document.brushes[wedge.id] = wedge;
document.brushes[cylinder.id] = cylinder;
document.brushes[cone.id] = cone;
document.brushes[torus.id] = torus;
expect(parseSceneDocumentJson(serializeSceneDocument(document))).toEqual(
document
);
});
});