Files
nage/engine/lib/RingBuffer.test.ts
T
2026-08-24 22:26:08 +02:00

21 lines
495 B
TypeScript

import { expect, test } from "vitest";
import { claim, createRingBuffer } from "./RingBuffer.ts";
test("RingBuffer", () => {
expect(() => createRingBuffer(3, () => ({}))).toThrow(
"size must be a power of two",
);
const pooled = createRingBuffer(4, () => ({}));
expect(pooled.size).toBe(4);
expect(pooled.cursor).toBe(0);
expect(pooled.buffer.length).toBe(4);
for (let i = 0; i < 8; i++) {
expect(claim(pooled)).toBe(pooled.buffer[i % 4]);
}
expect(pooled.cursor).toBe(0);
});