# test.govlab/context/configuration/strings/ontology.report.strings.test.ts

> 77 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-govlab-context-configuration-strings-ontology-report-strings-test-ts
Source text: https://banes-lab.com/source/testing/test.govlab/context/configuration/strings/ontology.report.strings.test.ts.txt

Listed in [test.govlab/context/configuration/strings](https://banes-lab.com/api/source/testing/test.govlab/context/configuration/strings.md), after [test.govlab/context/configuration/strings/lexicon.strings.test.ts](https://banes-lab.com/source/testing/test.govlab/context/configuration/strings/lexicon.strings.test.ts.md) and before [test.govlab/context/configuration/strings/ontology.strings.test.ts](https://banes-lab.com/source/testing/test.govlab/context/configuration/strings/ontology.strings.test.ts.md).

## Contained in

- [test.govlab/context/configuration/strings](https://banes-lab.com/anatomy/testing/folder-testing-test-govlab-context-configuration-strings.md)

## Source

```typescript
import {
    archEdgesRow,
    candidateLine,
    commandOf,
    composesLine,
    coverageCell,
    coverageRow,
    defectRow,
    divergentLine,
    documentRow,
    documentsTotal,
    lexiconTermsRow,
    moreTargets,
    nativeBacklogRow,
    nativeRow,
    nativeSubtotalRow,
    pagBnfRow,
    pagFailed,
    pagRecognitionRow,
    pagTemplateRow,
    remediationLines,
    resolutionFailed,
    summaryRow,
    symbolStalenessRow,
    symbolsGenerated,
    targetLine,
    targetTrail,
    totalRow,
    unreachedRow,
} from "@govlab/context/configuration/strings/ontology.report.strings.ts";
import assert from "node:assert/strict";
import { test } from "vitest";

test("a summary row adds its note in brackets only when it has one", () => {
    assert.ok(summaryRow("rows:", 2, "a note").endsWith("2  (a note)"));
    assert.ok(summaryRow("rows:", 2, "").endsWith("2"));
    assert.ok(lexiconTermsRow(7).endsWith("7"));
    assert.ok(archEdgesRow(3, 2).includes("2 distinct targets"));
});

test("the grammar rows carry each count they are handed", () => {
    assert.ok(pagTemplateRow([1, 2, 3, 4]).includes("4 unknown-template-type"));
    assert.ok(pagRecognitionRow(1, 2).includes("2 verb(s)"));
    assert.ok(pagBnfRow(1, 2).includes("2 unused terminal(s)"));
});

test("a coverage cell marks declared absences in brackets only when there are some", () => {
    assert.equal(coverageCell("by", 3, 1), "by 3[1]");
    assert.equal(coverageCell("by", 3, 0), "by 3");
    assert.equal(coverageRow("architecture", 5, "by 3"), "  architecture (5): by 3");
    assert.ok(unreachedRow(4).includes("4"));
});

test("the native rows carry their counts, the staleness and the total", () => {
    assert.ok(nativeBacklogRow(1, 2).includes("2 unstaged"));
    assert.ok(nativeRow("label:", 3, "a note").endsWith("3  (a note)"));
    assert.ok(symbolStalenessRow(true, 1, 2).includes("STALE"));
    assert.ok(symbolStalenessRow(false, 2, 2).includes("current"));
    assert.ok(nativeSubtotalRow(5).includes("5"));
    assert.ok(totalRow(9).endsWith("9"));
});

test("the target lines name the target, its sites and the fixes", () => {
    assert.ok(targetLine("Speed", 2, "").includes('"Speed"'));
    assert.equal(targetTrail(["a.requires"], true), "  [a.requires, …]");
    assert.equal(targetTrail(["a.requires"], false), "  [a.requires]");
    assert.ok(remediationLines("Speed", "speed", "lexicon/").some((line) => line.includes('"speed"')));
    assert.ok(moreTargets(3).includes("3 more"));
    assert.ok(composesLine("a", "ghost").includes('"ghost"'));
    assert.ok(divergentLine("g", "Delta", ["r1", "r2"]).includes("r1, r2"));
    assert.equal(candidateLine("a", "b"), "a ↔ b");
});

test("the run lines name the command, the documents and the totals", () => {
    assert.equal(commandOf("entry.ts"), "node entry.ts");
    assert.ok(resolutionFailed(2).includes("2"));
    assert.ok(documentRow(true, "agent.md", 0).includes("✓"));
    assert.ok(documentRow(false, "agent.md", 1).includes("✖"));
    assert.ok(defectRow("agent.md", 3, "result_missing", "1").includes("agent.md:3"));
    assert.ok(documentsTotal(4, 0).includes("documents: 4"));
    assert.ok(pagFailed(1).includes("1"));
    assert.ok(symbolsGenerated(10, 2).includes("2 grammars"));
});
```
