# test.coordination/core/inspectors/gate.inspector.test.ts

> 29 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-coordination-core-inspectors-gate-inspector-test-ts
Source text: https://banes-lab.com/source/testing/test.coordination/core/inspectors/gate.inspector.test.ts.txt

Listed in [test.coordination/core/inspectors](https://banes-lab.com/api/source/testing/test.coordination/core/inspectors.md), after [test.coordination/core/inspectors/fence.inspector.test.ts](https://banes-lab.com/source/testing/test.coordination/core/inspectors/fence.inspector.test.ts.md) and before [test.coordination/core/inspectors/index.inspector.test.ts](https://banes-lab.com/source/testing/test.coordination/core/inspectors/index.inspector.test.ts.md).

## Contained in

- [test.coordination/core/inspectors](https://banes-lab.com/anatomy/testing/folder-testing-test-coordination-core-inspectors.md)

## Source

```typescript
import { branchExercised, branchThrew } from "coordination-surface/tools/core/strings/gate.strings.ts";
import { describe, it } from "vitest";
import assert from "node:assert/strict";
import { existsSync } from "node:fs";
import { join } from "node:path";
import { judgeBranch } from "coordination-surface/tools/core/inspectors/gate.inspector.ts";

type Fixture = Parameters<typeof judgeBranch>[0];

const fixture = function fixture(expect: Fixture["expect"], exercise: Fixture["exercise"]): Fixture {
    return { branch: "seeded", exercise, expect, seed: [{ path: "a.txt", text: "x" }], subject: "probe" };
};

const seeded = (root: string): Fixture["expect"] => ({ present: existsSync(join(root, "a.txt")) });

describe("judgeBranch", () => {
    it("proves a branch whose effect matches, and reports one that disagrees or throws", () => {
        assert.deepEqual(judgeBranch(fixture({ present: true }, seeded)), {
            detail: branchExercised("present true"),
            rule: "probe · seeded",
            state: "proven",
        });
        const apart = judgeBranch(fixture({ present: false }, seeded));
        assert.equal(apart.state, "silent");
        assert.ok(apart.detail.includes("present true where false is declared"));
        const thrown = judgeBranch(
            fixture({}, () => {
                throw new Error("broke");
            }),
        );
        assert.deepEqual([thrown.state, thrown.detail], ["noisy", branchThrew("Error: broke")]);
    });
});
```
