# test.govlab/patterns/core/factories/representation.factory.test.ts

> 22 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-govlab-patterns-core-factories-representation-factory-test-ts
Source text: https://banes-lab.com/source/testing/test.govlab/patterns/core/factories/representation.factory.test.ts.txt

Listed in [test.govlab/patterns/core/factories](https://banes-lab.com/api/source/testing/test.govlab/patterns/core/factories.md), after [test.govlab/patterns/core/factories/record.factory.test.ts](https://banes-lab.com/source/testing/test.govlab/patterns/core/factories/record.factory.test.ts.md) and before [test.govlab/patterns/core/factories/seed.factory.test.ts](https://banes-lab.com/source/testing/test.govlab/patterns/core/factories/seed.factory.test.ts.md).

## Contained in

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

## Source

```typescript
import { describe, expect, it } from "vitest";
import { createRng } from "@govlab/patterns/core/factories/seed.factory.ts";
import { runtimeOf } from "@govlab/patterns/core/factories/representation.factory.ts";

const SEED = 3;

describe("runtimeOf", () => {
    it("wires an accumulator's update, sample and summary into a representation runtime", () => {
        const seen: unknown[] = [];
        const runtime = runtimeOf(
            {
                result: () => seen.length,
                sample: () => seen[0] ?? null,
                update(chunk) {
                    seen.push(...chunk);
                },
            },
            () => [],
        );
        runtime.update(["a"]);
        expect(runtime.sample(createRng(SEED))).toBe("a");
        expect(runtime.findings()).toStrictEqual([]);
    });
});
```
