File size: 951 Bytes
49ad2ef | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import assert from "node:assert/strict";
import test from "node:test";
const { buildParityFixtures } = await import("../demo/parity.ts");
const { validateRequest } = await import("../src/index.ts");
test("parity matrix covers candidate counts, question types, and explicit overflow", () => {
const fixtures = buildParityFixtures();
assert.ok(fixtures.length >= 20);
assert.deepEqual(new Set(fixtures.map((item) => item.matrix.candidate_count)), new Set([2, 4, 8, 16, 32]));
assert.ok(fixtures.some((item) => item.request.questions[0]?.type === "boolean"));
assert.ok(fixtures.some((item) => item.request.questions[0]?.type === "score"));
assert.ok(fixtures.some((item) => item.expectedFailure));
assert.equal(new Set(fixtures.map((item) => item.id)).size, fixtures.length);
for (const fixture of fixtures.filter((item) => !item.expectedFailure)) {
assert.doesNotThrow(() => validateRequest(fixture.request), fixture.id);
}
});
|