# test.govlab/quality/core/predicates/context.fragment.predicate.test.ts

> 34 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-govlab-quality-core-predicates-context-fragment-predicate-test-ts
Source text: https://banes-lab.com/source/testing/test.govlab/quality/core/predicates/context.fragment.predicate.test.ts.txt

Listed in [test.govlab/quality/core/predicates](https://banes-lab.com/api/source/testing/test.govlab/quality/core/predicates.md), after [test.govlab/quality/core/predicates/construct.predicate.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/core/predicates/construct.predicate.test.ts.md) and before [test.govlab/quality/core/predicates/coverage.predicate.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/core/predicates/coverage.predicate.test.ts.md).

## Contained in

- [test.govlab/quality/core/predicates](https://banes-lab.com/anatomy/testing/folder-testing-test-govlab-quality-core-predicates.md)

## Source

```typescript
import {
    isArray,
    isDefineFragmentCall,
    isNode,
    isRecord,
    isRuleNode,
} from "@govlab/quality/core/predicates/context.fragment.predicate.ts";
import assert from "node:assert/strict";
import { test } from "vitest";

test("isRecord accepts objects and rejects null and primitives", () => {
    assert.equal(isRecord({}), true);
    assert.equal(isRecord(null), false);
    assert.equal(isRecord("x"), false);
});

test("isNode and isRuleNode narrow AST-like values", () => {
    assert.equal(isNode({ type: "Identifier" }), true);
    assert.equal(isNode(null), false);
    assert.equal(isNode({}), false);
    assert.equal(isRuleNode({ type: "Literal" }), true);
});

test("isArray narrows arrays only", () => {
    assert.equal(isArray([]), true);
    assert.equal(isArray({ length: 0 }), false);
});

test("isDefineFragmentCall recognizes the fragment factory call", () => {
    assert.equal(
        isDefineFragmentCall({ callee: { name: "defineContextFragment", type: "Identifier" }, type: "CallExpression" }),
        true,
    );
    assert.equal(
        isDefineFragmentCall({ callee: { name: "other", type: "Identifier" }, type: "CallExpression" }),
        false,
    );
});
```
