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); });