test.govlab/context/core/normalizers/reason.surface.normalizer.test.ts
test.govlab/context/core/normalizers/reason.surface.normalizer.test.ts is a file in Codebase Testing. 34 lines of code and 0 definitions.
import {
normalizeFailureShape,
normalizeInvariant,
normalizeTechnique,
normalizeTestSurface,
} from "@govlab/context/core/normalizers/reason.surface.normalizer.ts";
import assert from "node:assert/strict";
import { test } from "vitest";
const SURFACE = {
dimension: "meaning",
evidence: { grounds: ["ver-evidence"], required: true, source: "test-result" },
id: "s-sem",
lens: "semantic",
predicate: { expression: "x", type: "equivalence" },
verdictDomain: ["pass", "fail"],
};
test("a test surface keeps its closed values and refuses a value outside them", () => {
const surface = normalizeTestSurface(SURFACE);
assert.equal(surface.evidence.source, "test-result");
assert.equal(surface.predicate.type, "equivalence");
assert.deepEqual(surface.verdictDomain, ["pass", "fail"]);
assert.throws(() => normalizeTestSurface({ ...SURFACE, verdictDomain: ["maybe"] }));
assert.throws(() => normalizeTestSurface({ ...SURFACE, predicate: { type: "vibes" } }));
});
test("a technique, an invariant and a failure shape keep their fields", () => {
assert.equal("principleRef" in normalizeTechnique({ fails: "f", id: "t", mode: "m", principle: "p" }), false);
assert.equal(normalizeTechnique({ id: "t", principleRef: "r" }).principleRef, "r");
assert.deepEqual(normalizeInvariant({ id: "i", name: "I", statement: "s" }), {
id: "i",
name: "I",
statement: "s",
});
assert.deepEqual(normalizeFailureShape({ id: "f", instances: ["algorithms:x"] }).instances, ["algorithms:x"]);
});