# test.govlab/stats/core/reporters/metric.reporter.test.ts

> 13 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-govlab-stats-core-reporters-metric-reporter-test-ts
Source text: https://banes-lab.com/source/testing/test.govlab/stats/core/reporters/metric.reporter.test.ts.txt

Listed in [test.govlab/stats/core/reporters](https://banes-lab.com/api/source/testing/test.govlab/stats/core/reporters.md), after [test.govlab/stats/core/reporters/dependency.reporter.test.ts](https://banes-lab.com/source/testing/test.govlab/stats/core/reporters/dependency.reporter.test.ts.md) and before [test.govlab/stats/core/reporters/report.reporter.test.ts](https://banes-lab.com/source/testing/test.govlab/stats/core/reporters/report.reporter.test.ts.md).

## Contained in

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

## Source

```typescript
import { describe, expect, it } from "vitest";
import { INPUT } from "../loaders/stats.fixture.ts";
import { abstractionSection } from "@govlab/stats/core/reporters/metric.reporter.ts";
import { deriveMetrics } from "@govlab/stats/core/converters/metric.converter.ts";

describe("abstractionSection", () => {
    it("renders the file-type mix, the ratios and the governed modules", () => {
        const text = abstractionSection(INPUT, deriveMetrics(INPUT.state)).join("\n");
        expect(text).toContain("### File-type mix");
        expect(text).toContain("### Ratios");
        expect(text).toContain("taxonomy conformance");
        expect(text).toContain("### Governed modules");
    });
});
```
