import { overlapperIntervall, Periode, } from '../../../main/javascript/utils/Periode'; describe('Periode', function () { describe('overlapperIntervall', function () { describe('to intervall møtes i start/stopp', function () { it('overlapper ', function () { const periode1: Periode = { fra: { timer: 0, minutter: 30 }, til: { timer: 10, minutter: 0 }, }; const periode2: Periode = { fra: { timer: 10, minutter: 0 }, til: { timer: 10, minutter: 50 }, }; expect(overlapperIntervall(periode1, periode2)).toBeTruthy(); }); }); describe('perioder ikke overlapper', function () { const periode1: Periode = { fra: { timer: 0, minutter: 30 }, til: { timer: 10, minutter: 0 }, }; const periode2: Periode = { fra: { timer: 10, minutter: 1 }, til: { timer: 10, minutter: 50 }, }; const periode3: Periode = { fra: { timer: 22, minutter: 0 }, til: { timer: 0, minutter: 20 }, }; const periode4: Periode = { fra: { timer: 11, minutter: 0 }, til: { timer: 16, minutter: 50 }, }; it('gir false', function () { expect(overlapperIntervall(periode1, periode2)).toBeFalsy(); expect(overlapperIntervall(periode1, periode3)).toBeFalsy(); expect(overlapperIntervall(periode1, periode4)).toBeFalsy(); expect(overlapperIntervall(periode2, periode3)).toBeFalsy(); expect(overlapperIntervall(periode2, periode4)).toBeFalsy(); expect(overlapperIntervall(periode3, periode4)).toBeFalsy(); }); }); describe('perioder som overlapper', function () { const periode1: Periode = { fra: { timer: 18, minutter: 30 }, til: { timer: 4, minutter: 0 }, }; const periode2: Periode = { fra: { timer: 16, minutter: 0 }, til: { timer: 19, minutter: 50 }, }; const periode3: Periode = { fra: { timer: 15, minutter: 0 }, til: { timer: 0, minutter: 20 }, }; const periode4: Periode = { fra: { timer: 3, minutter: 0 }, til: { timer: 8, minutter: 50 }, }; const periode5: Periode = { fra: { timer: 7, minutter: 0 }, til: { timer: 16, minutter: 50 }, }; it('gir true', function () { expect(overlapperIntervall(periode1, periode2)).toBeTruthy(); expect(overlapperIntervall(periode1, periode3)).toBeTruthy(); expect(overlapperIntervall(periode1, periode4)).toBeTruthy(); expect(overlapperIntervall(periode1, periode2)).toBeTruthy(); expect(overlapperIntervall(periode4, periode5)).toBeTruthy(); }); }); }); });