# test.build/core/converters/structure.converter.test.ts

> 22 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-build-core-converters-structure-converter-test-ts
Source text: https://banes-lab.com/source/testing/test.build/core/converters/structure.converter.test.ts.txt

Listed in [test.build/core/converters](https://banes-lab.com/api/source/testing/test.build/core/converters.md), after [test.build/core/converters/specifier.converter.test.ts](https://banes-lab.com/source/testing/test.build/core/converters/specifier.converter.test.ts.md) and before [test.build/core/converters/style.converter.test.ts](https://banes-lab.com/source/testing/test.build/core/converters/style.converter.test.ts.md).

## Contained in

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

## Source

```typescript
import { FILE_NAME, concernFolder } from "./anatomy.fixture.ts";
import { describe, expect, it } from "vitest";
import {
    fileLayerOf,
    folderLayerOf,
    slotsOf,
    sumStats,
} from "@banes-lab/build-scripts/core/converters/structure.converter.ts";
import { EMPTY_STATS } from "@banes-lab/build-scripts/configuration/constants/anatomy.constants.ts";

describe("slotsOf, fileLayerOf and folderLayerOf", () => {
    it("reads a file's slots and layer from the taxonomy, or none for an exempt name", () => {
        expect(slotsOf(FILE_NAME)).toStrictEqual({ concern: "renderer", subject: "text", variant: null });
        expect(slotsOf("ontology.generated.ts")).toBeNull();
        expect(slotsOf("index.html")).toBeNull();
        expect(fileLayerOf(slotsOf(FILE_NAME))).toBe(folderLayerOf(concernFolder()));
    });
});

describe("sumStats", () => {
    it("sums nothing to an empty count", () => {
        expect(sumStats([EMPTY_STATS, EMPTY_STATS]).files).toBe(0);
    });
});
```
