import { test } from 'node:test'; import assert from 'node:assert/strict'; import { createAudioAblage } from './audio-ablage.ts'; const wav = (n: number): Buffer => Buffer.alloc(44 + n); test('abgelegter Ton ist unter seiner ID abholbar', () => { const a = createAudioAblage(); a.ablegen('x', wav(1)); assert.equal(a.holen('x')?.length, 45); assert.equal(a.holen('y'), undefined); }); test('laeuft sie voll, faellt das Aelteste heraus', () => { const a = createAudioAblage({ maximal: 2 }); a.ablegen('1', wav(1)); a.ablegen('2', wav(2)); a.ablegen('3', wav(3)); assert.equal(a.holen('1'), undefined); assert.ok(a.holen('2')); assert.ok(a.holen('3')); }); test('abgelaufener Ton ist weg', async () => { const a = createAudioAblage({ haltbarMs: 5 }); a.ablegen('x', wav(1)); await new Promise((r) => setTimeout(r, 20)); assert.equal(a.holen('x'), undefined); }); test('leeren wirft alles weg - fuer den Panikschalter', () => { const a = createAudioAblage(); a.ablegen('x', wav(1)); a.leeren(); assert.equal(a.holen('x'), undefined); });