// Generated, do not edit. sha256:c2c50da68059eb5b91507e98e3bdb52f6ec85d33f1dfafa7fb651d37c5365fc5 import { describe, it } from 'node:test'; import assert from 'node:assert/strict'; const { ALL_YEARS, choiceToText, choiceFromText, withoutYear, yearsIn } = await import('../../client/wealth/year-range.js'); const NU = new Date().getFullYear(); describe('choiceToText / choiceFromText: heen en terug', () => { it('schrijft één jaar als één getal en een reeks met een streepje', () => { assert.equal(choiceToText({ van: 2026, tot: 2026 }), '2026'); assert.equal(choiceToText({ van: 2022, tot: 2024 }), '2022-2024'); assert.equal(choiceToText(ALL_YEARS), 'alles'); }); it('leest zijn eigen vorm weer terug', () => { for (const k of [ALL_YEARS, { van: 2026, tot: 2026 }, { van: 2022, tot: 2024 }]) assert.deepEqual(choiceFromText(choiceToText(k)), k); }); it('ZET EEN OMGEKEERDE REEKS RECHT', () => { assert.deepEqual(choiceFromText('2024-2022'), { van: 2022, tot: 2024 }); }); it('VALT TERUG OP HET LOPENDE JAAR bij iets onleesbaars, in plaats van te struikelen', () => { for (const rommel of ['', 'onzin', '20xx', '202', null, undefined, '2026-']) assert.deepEqual(choiceFromText(rommel), { van: NU, tot: NU }, `bij ${JSON.stringify(rommel)}`); }); it('leest een getal net zo goed als een tekst', () => { assert.deepEqual(choiceFromText(2026), { van: 2026, tot: 2026 }); }); }); describe('withoutYear: een jaar wegdrukken', () => { it('haalt het aangeklikte jaar eruit ÉN alles wat ouder is', () => { assert.deepEqual(withoutYear({ van: 2020, tot: 2026 }, 2022), { van: 2023, tot: 2026 }); }); it('GEEFT "ALLES" bij het nieuwste jaar en niet een lege keuze', () => { assert.equal(withoutYear({ van: 2020, tot: 2026 }, 2026), ALL_YEARS); assert.equal(withoutYear({ van: 2026, tot: 2026 }, 2026), ALL_YEARS, 'ook als het het enige jaar is'); }); it('geeft "alles" bij een jaar dat nog nieuwer is dan de reeks', () => { assert.equal(withoutYear({ van: 2020, tot: 2024 }, 2030), ALL_YEARS); }); it('laat "alles" met rust en overleeft een onzinnig jaar', () => { assert.equal(withoutYear(ALL_YEARS, 2024), ALL_YEARS); assert.deepEqual(withoutYear({ van: 2020, tot: 2026 }, NaN), { van: 2020, tot: 2026 }); assert.deepEqual(withoutYear({ van: 2020, tot: 2026 }, undefined), { van: 2020, tot: 2026 }); }); it('muteert de meegegeven keuze niet', () => { const k = { van: 2020, tot: 2026 }; withoutYear(k, 2022); assert.deepEqual(k, { van: 2020, tot: 2026 }); }); }); describe('yearsIn', () => { it('somt de jaren oplopend op', () => { assert.deepEqual(yearsIn({ van: 2022, tot: 2024 }), [2022, 2023, 2024]); assert.deepEqual(yearsIn({ van: 2026, tot: 2026 }), [2026]); }); it('geeft er GEEN bij "alles"', () => { assert.deepEqual(yearsIn(ALL_YEARS), []); }); });