// Generated, do not edit. sha256:021a29aa8101638bfe1883f78698f1f023a09f6b14b39dbb9fc4e8d2968c37ae import { describe, it } from 'node:test'; import assert from 'node:assert/strict'; import { spreidOverKolommen } from '../../client/ui/masonry.js'; describe('spreidOverKolommen', () => { it('kiest steeds de kortste kolom', () => { assert.deepEqual(spreidOverKolommen([100, 50, 40, 20, 30], 2), [0, 1, 1, 1, 0]); }); it('is gewoon round-robin als alles even hoog is', () => { assert.deepEqual(spreidOverKolommen([10, 10, 10, 10, 10, 10], 3), [0, 1, 2, 0, 1, 2]); }); it('zet alles in één kolom als er één kolom is', () => { assert.deepEqual(spreidOverKolommen([5, 1, 9], 1), [0, 0, 0]); }); it('houdt de kolommen dichter bij elkaar dan round-robin zou doen', () => { const hoogtes = [120, 10, 10, 10]; const uit = spreidOverKolommen(hoogtes, 3); const som = [0, 0, 0]; uit.forEach((k, i) => { som[k] += hoogtes[i]; }); assert.deepEqual(uit, [0, 1, 2, 1]); assert.deepEqual(som, [120, 20, 10]); }); it('geeft een lege lijst terug voor geen kaarten', () => { assert.deepEqual(spreidOverKolommen([], 3), []); }); it('behandelt een onzinnig kolomaantal als één kolom in plaats van om te vallen', () => { for (const raar of [0, -3, NaN, undefined]) { assert.deepEqual(spreidOverKolommen([1, 2, 3], raar), [0, 0, 0], `kolommen: ${raar}`); } }); });