package Ġno . nav . hel se . sp le is . e 2 e Ċ Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . util . UUID Ċ import Ġno . nav . hel se . apr il Ċ import Ġno . nav . hel se . assert For vent et Fe il Ċ import Ġno . nav . hel se . fe bru ar Ċ import Ġno . nav . hel se . hen del ser . In n te kt For Sy ke pen ge gr un nl ag Ċ import Ġno . nav . hel se . hen del ser . In n tek ts meld ing . Ref us jon Ċ import Ġno . nav . hel se . hen del ser . In n tek tsv ur der ing Ċ import Ġno . nav . hel se . hen del ser . Per i ode Ċ import Ġno . nav . hel se . hen del ser . Sim uler ing Ċ import Ġno . nav . hel se . hen del ser . Sy k meld ing sp eri ode Ċ import Ġno . nav . hel se . hen del ser . S Ã¸ kn ad Ċ import Ġno . nav . hel se . hen del ser . S Ã¸ kn ad . S Ã¸ kn ad sp eri ode . F er ie Ċ import Ġno . nav . hel se . hen del ser . S Ã¸ kn ad . S Ã¸ kn ad sp eri ode . Sy k dom Ċ import Ġno . nav . hel se . hen del ser . V ilk Ã¥ rs gr un nl ag Ċ import Ġno . nav . hel se . hen del ser . til Ċ import Ġno . nav . hel se . inspect ors . K ilde Ċ import Ġno . nav . hel se . inspect ors . ins pe kt Ã¸ r Ċ import Ġno . nav . hel se . jan uar Ċ import Ġno . nav . hel se . j uli Ċ import Ġno . nav . hel se . j uni Ċ import Ġno . nav . hel se . ma i Ċ import Ġno . nav . hel se . mars Ċ import Ġno . nav . hel se . person . Opp drag Visitor Ċ import Ġno . nav . hel se . person . Til stand Type . AV SL UT TET Ċ import Ġno . nav . hel se . person . Til stand Type . AV SL UT TET _ UT EN _ UT B ET AL ING Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ AR BE ID SG IVER E _ REV UR DER ING Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ B LO KK ER EN DE _ PER IO DE Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ GJ EN NO MF Ã ĺ RT _ REV UR DER ING Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ G OD KJ EN NING Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ G OD KJ EN NING _ REV UR DER ING Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ HIST OR IK K Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ HIST OR IK K _ REV UR DER ING Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ SI MUL ER ING Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ SI MUL ER ING _ REV UR DER ING Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING Ċ import Ġno . nav . hel se . person . Til stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING Ċ import Ġno . nav . hel se . person . Til stand Type . START Ċ import Ġno . nav . hel se . person . Til stand Type . T IL _ UT B ET AL ING Ċ import Ġno . nav . hel se . person . Til stand Type . UT B ET AL ING _ FE ILE T Ċ import Ġno . nav . hel se . person . info try gd h istor ikk . Ar be id sg iver U tb et aling sp eri ode Ċ import Ġno . nav . hel se . person . info try gd h istor ikk . In n tek ts op pl ys ning Ċ import Ġno . nav . hel se . ut bet al ings lin jer . End ring sk ode Ċ import Ġno . nav . hel se . ut bet al ings lin jer . F ag om r Ã¥ de Ċ import Ġno . nav . hel se . ut bet al ings lin jer . K lasse kode Ċ import Ġno . nav . hel se . ut bet al ings lin jer . Opp drag Ċ import Ġno . nav . hel se . ut bet al ings lin jer . Opp drag status Ċ import Ġno . nav . hel se . ut bet al ings lin jer . Sat stype Ċ import Ġno . nav . hel se . ut bet al ings lin jer . U tb et aling Ċ import Ġno . nav . hel se . ut bet al ings lin jer . U tb et al ings lin je Ċ import Ġno . nav . hel se . ut bet al ings lin jer . WARN _ FOR LEN GER _ OP PH Ã ĺ RT _ OP P DR AG Ċ import Ġno . nav . hel se . Ã¸ k onom i . In n te kt . Companion . dag lig Ċ import Ġno . nav . hel se . Ã¸ k onom i . In n te kt . Companion . m Ã¥ ned lig Ċ import Ġno . nav . hel se . Ã¸ k onom i . In n te kt . Companion . Ã¥ rl ig Ċ import Ġno . nav . hel se . Ã¸ k onom i . Pro sent del . Companion . pro sent Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Assertions . assertFalse Ċ import Ġorg . junit . jupiter . api . Assertions . assertTrue Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ internal Ġclass ĠRev ur der In n te kt Test Ġ: ĠAbstract End ToEnd Test () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur der Ġinn te kt Ġhappy Ġcase `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtid lig ere In n te kt In n sl ag Id Ġ= Ġins pe kt Ã¸ r . inn te kt Ins pe kt Ã¸ r . s iste In n sl ag ?. inn sl ag Id ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( listOf ( 1 . jan uar Ġtil Ġ 1 6 . jan uar ), Ġbere g net In n te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig , Ġref us jon Ġ= ĠRef us jon ( 3 2 0 0 0 . m Ã¥ ned lig , Ġnull , Ġempty List ())) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 1 . ved tak sp eri ode , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 5 7 4 1 , Ġins pe kt Ã¸ r . ut bet al inger . first (). ins pe kt Ã¸ r . ar be id sg iver Opp drag . net to Bel Ã¸ p ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 5 0 6 , Ġins pe kt Ã¸ r . ut bet al inger . last (). ins pe kt Ã¸ r . ar be id sg iver Opp drag . net to Bel Ã¸ p ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġg run nl ags data Ins pe kt Ã¸ r Ġ= Ġperson . ins pe kt Ã¸ r . gr un nl ags data ( 0 ). ins pe kt Ã¸ r ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġperson . ins pe kt Ã¸ r . ant all G run nl ags data ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġg run nl ags data Ins pe kt Ã¸ r . av vik sp ros ent ?. round ToInt ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġtid lig ere B ere g ning Ġ= Ġins pe kt Ã¸ r . ut bet aling st ids lin je ber eg ning Data . first () ĊĠĠĠĠĠĠĠ ĠassertEquals ( tid lig ere B ere g ning . inn te kt sh istor ikk In n sl ag Id , Ġtid lig ere In n te kt In n sl ag Id ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbere g ning Ġ= Ġins pe kt Ã¸ r . ut bet aling st ids lin je ber eg ning Data . last () ĊĠĠĠĠĠĠĠ ĠassertEquals ( ber eg ning . inn te kt sh istor ikk In n sl ag Id , Ġins pe kt Ã¸ r . inn te kt Ins pe kt Ã¸ r . s iste In n sl ag ?. inn sl ag Id ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( ber eg ning . v ilk Ã¥ rs gr un nl ag H istor ikk In n sl ag Id , Ġperson . ny este Id For V ilk Ã¥ rs gr un nl ag H istor ikk ()) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ins pe kt Ã¸ r . inn te kt Ins pe kt Ã¸ r . s iste In n sl ag ?. op pl ys ning er ?. any Ġ{ Ġit . k ilde Ġ== ĠK ilde . SA KS BE HANDLER Ġ} Ġ?: Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur der Ġinn te kt Ġfl ere Ġg anger `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( listOf ( 1 . jan uar Ġtil Ġ 1 6 . jan uar ), Ġbere g net In n te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig , Ġref us jon Ġ= ĠRef us jon ( 3 2 0 0 0 . m Ã¥ ned lig , Ġnull , Ġempty List ())) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 1 . ved tak sp eri ode , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( listOf ( 1 . jan uar Ġtil Ġ 1 6 . jan uar ), Ġbere g net In n te kt Ġ= Ġ 3 1 0 0 0 . m Ã¥ ned lig , Ġref us jon Ġ= ĠRef us jon ( 3 1 0 0 0 . m Ã¥ ned lig , Ġnull , Ġempty List ())) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 1 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 1 . ved tak sp eri ode , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 5 7 4 1 , Ġins pe kt Ã¸ r . ut bet al inger [ 0 ]. ins pe kt Ã¸ r . ar be id sg iver Opp drag . net to Bel Ã¸ p ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 5 0 6 , Ġins pe kt Ã¸ r . ut bet al inger [ 1 ]. ins pe kt Ã¸ r . ar be id sg iver Opp drag . net to Bel Ã¸ p ()) ĊĠĠĠĠĠĠĠ ĠassertEquals (- 5 0 6 , Ġins pe kt Ã¸ r . ut bet al inger [ 2 ]. ins pe kt Ã¸ r . ar be id sg iver Opp drag . net to Bel Ã¸ p ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġinn te kt F ra S aks be handler Ġ= Ġins pe kt Ã¸ r . inn te kt Ins pe kt Ã¸ r . s iste In n sl ag ?. op pl ys ning er ?. filter Ġ{ Ġit . k ilde Ġ== ĠK ilde . SA KS BE HANDLER Ġ} !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġinn te kt F ra S aks be handler . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 1 0 0 0 . m Ã¥ ned lig , Ġinn te kt F ra S aks be handler . first (). sy ke pen ge gr un nl ag ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur der Ġinn te kt Ġuk j ent Ġsk j Ã¦ ring st id sp unkt `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 2 . jan uar ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġins pe kt Ã¸ r . ut bet al inger . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur der Ġinn te kt Ġtid lig ere Ġsk j Ã¦ ring st id sp unkt `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ) ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . mars , Ġ 3 1 . mars , Ġ 1 0 0 . pro sent ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġins pe kt Ã¸ r . ut bet al inger . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` over st yr Ġinn te kt Ġto Ġved tak Ġmed Ġk ort Ġopp hold `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 2 6 . jan uar , Ġ 1 0 0 . pro sent ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 1 . fe bru ar , Ġ 1 4 . fe bru ar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad ( Sy k dom ( 1 . fe bru ar , Ġ 1 4 . fe bru ar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( listOf ( 1 . jan uar Ġtil Ġ 1 6 . jan uar ), Ġf Ã¸ r ste Fr av Ã¦ r sd ag Ġ= Ġ 1 . fe bru ar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter V ilk Ã¥ rs gr un nl ag ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĊĠĠĠĠĠĠĠ Ġassert For vent et Fe il ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfork lar ing Ġ= Ġ" Den ne Ġer Ġsk ru dd Ġav Ġi ĠpÃ¥ vent e Ġav Ġat Ġvi Ġskal Ġst Ã¸ tte Ġrev ur der ing Ġover Ġsk j Ã¦ ring st id sp unkt ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn Ã¥ Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġins pe kt Ã¸ r . ut bet al inger . filter Ġ{ Ġit . ins pe kt Ã¸ r . er U tb et alt Ġ}. size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠÃ ¸ n sk et Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 2 . ved tak sp eri ode , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ GJ EN NO MF Ã ĺ RT _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ AR BE ID SG IVER E _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġins pe kt Ã¸ r . ut bet al inger . filter Ġ{ Ġit . ins pe kt Ã¸ r . er U tb et alt Ġ}. size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` kan Ġik ke Ġrev ur dere Ġinn te kt ĠpÃ¥ Ġved tak Ġmed Ġopp hold Ġog Ġny tt Ġsk j Ã¦ ring st id sp unkt Ġet ter p Ã¥ `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 2 6 . jan uar , Ġ 1 0 0 . pro sent ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 1 . fe bru ar , Ġ 1 4 . fe bru ar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad ( Sy k dom ( 1 . fe bru ar , Ġ 1 4 . fe bru ar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( listOf ( 1 . jan uar Ġtil Ġ 1 6 . jan uar ), Ġf Ã¸ r ste Fr av Ã¦ r sd ag Ġ= Ġ 1 . fe bru ar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter V ilk Ã¥ rs gr un nl ag ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert Error (" K an Ġkun Ġrev ur dere Ġsist e Ġsk j Ã¦ ring st id sp unkt ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur der Ġinn te kt Ġav vik Ġover Ġ 2 5 Ġpro sent Ġre du ks jon `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 7 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K _ REV UR DER ING ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġassert Warning (" Har Ġmer Ġen n Ġ 2 5 Ġ% Ġav vik . ĠDet te Ġst Ã¸ t tes Ġfore l Ã¸ pig Ġik ke Ġi ĠSpe il . ĠDu ĠmÃ¥ Ġder for Ġan null ere Ġperiod ene .", ĠA ktiv it ets log g Filter . person ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġins pe kt Ã¸ r . ut bet al inger . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur der Ġinn te kt Ġav vik Ġover Ġ 2 5 Ġpro sent ĠÃ ¸ k ning `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 7 0 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K _ REV UR DER ING ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġassert Warning (" Har Ġmer Ġen n Ġ 2 5 Ġ% Ġav vik . ĠDet te Ġst Ã¸ t tes Ġfore l Ã¸ pig Ġik ke Ġi ĠSpe il . ĠDu ĠmÃ¥ Ġder for Ġan null ere Ġperiod ene .", ĠA ktiv it ets log g Filter . person ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġins pe kt Ã¸ r . ut bet al inger . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur der Ġinn te kt Ġny Ġinn te kt Ġunder Ġen Ġhal v ĠG `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 1 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING _ REV UR DER ING ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġut bet aling Til Rev ur der ing Ġ= Ġins pe kt Ã¸ r . ut bet al inger . last () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġins pe kt Ã¸ r . ut bet al inger . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals (- 1 5 7 4 1 , Ġut bet aling Til Rev ur der ing . ins pe kt Ã¸ r . ar be id sg iver Opp drag . net to Bel Ã¸ p ()) ĊĊĠĠĠĠĠĠĠ Ġassert Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Har Ġmer Ġen n Ġ 2 5 Ġ% Ġav vik . ĠDet te Ġst Ã¸ t tes Ġfore l Ã¸ pig Ġik ke Ġi ĠSpe il . ĠDu ĠmÃ¥ Ġder for Ġan null ere Ġperiod ene .", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA ktiv it ets log g Filter . person () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Period en Ġer Ġav sl Ã¥ tt ĠpÃ¥ Ġg run n Ġav Ġat Ġinn te kt Ġer Ġunder Ġkr av Ġtil Ġmin ste Ġsy ke pen ge gr un nl ag ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA ktiv it ets log g Filter . person () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( ut bet aling Til Rev ur der ing . ut bet aling st ids lin je (). har U tb et al inger ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur der ing Ġved Ġsk j Ã¦ ring st id sp unkt Ġh os Ġinfo try gd `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh istor ikk 1 Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id sg iver U tb et aling sp eri ode ( ORG NUM MER , Ġ 2 9 . jan uar ( 2 0 1 8 ), Ġ 1 8 . fe bru ar ( 2 0 1 8 ), Ġ 1 0 0 . pro sent , Ġ 1 0 0 0 . dag lig ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id sg iver U tb et aling sp eri ode ( ORG NUM MER , Ġ 1 9 . fe bru ar ( 2 0 1 8 ), Ġ 1 8 . mars ( 2 0 1 8 ), Ġ 1 0 0 . pro sent , Ġ 1 0 0 0 . dag lig ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id sg iver U tb et aling sp eri ode ( ORG NUM MER , Ġ 1 9 . mars ( 2 0 1 8 ), Ġ 2 . apr il ( 2 0 1 8 ), Ġ 1 0 0 . pro sent , Ġ 1 0 0 0 . dag lig ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id sg iver U tb et aling sp eri ode ( ORG NUM MER , Ġ 3 . apr il ( 2 0 1 8 ), Ġ 1 4 . ma i ( 2 0 1 8 ), Ġ 1 0 0 . pro sent , Ġ 1 0 0 0 . dag lig ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id sg iver U tb et aling sp eri ode ( ORG NUM MER , Ġ 1 5 . ma i ( 2 0 1 8 ), Ġ 3 . j uni ( 2 0 1 8 ), Ġ 1 0 0 . pro sent , Ġ 1 0 0 0 . dag lig ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id sg iver U tb et aling sp eri ode ( ORG NUM MER , Ġ 4 . j uni ( 2 0 1 8 ), Ġ 2 2 . j uni ( 2 0 1 8 ), Ġ 1 0 0 . pro sent , Ġ 1 0 0 0 . dag lig ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id sg iver U tb et aling sp eri ode ( ORG NUM MER , Ġ 1 8 . mars ( 2 0 2 0 ), Ġ 3 1 . mars ( 2 0 2 0 ), Ġ 1 0 0 . pro sent , Ġ 1 0 0 0 . dag lig ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id sg iver U tb et aling sp eri ode ( ORG NUM MER , Ġ 1 . apr il ( 2 0 2 0 ), Ġ 3 0 . apr il ( 2 0 2 0 ), Ġ 1 0 0 . pro sent , Ġ 1 0 0 0 . dag lig ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id sg iver U tb et aling sp eri ode ( ORG NUM MER , Ġ 1 . ma i ( 2 0 2 0 ), Ġ 3 1 . ma i ( 2 0 2 0 ), Ġ 1 0 0 . pro sent , Ġ 1 0 0 0 . dag lig ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġinn tek ts op pl ys ning 1 Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIn n tek ts op pl ys ning ( ORG NUM MER , Ġ 1 8 . mars ( 2 0 2 0 ), ĠIN N TE KT , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIn n tek ts op pl ys ning ( ORG NUM MER , Ġ 2 9 . jan uar ( 2 0 1 8 ), ĠIN N TE KT , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 1 . j uni ( 2 0 2 0 ), Ġ 3 0 . j uni ( 2 0 2 0 ), Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad Med Val ider ing ( 1 . ved tak sp eri ode , ĠS yk dom ( 1 . j uni ( 2 0 2 0 ), Ġ 3 0 . j uni ( 2 0 2 0 ), Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sh istor ikk ( 1 . ved tak sp eri ode , Ġ* h istor ikk 1 . to Typed Array (), Ġinn te kt sh istor ikk Ġ= Ġinn tek ts op pl ys ning 1 ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġfor l eng V ed tak ( 1 . j uli ( 2 0 2 0 ), Ġ 3 0 . j uli ( 2 0 2 0 )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 5 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 8 . mars ( 2 0 2 0 )) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert Errors () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` ut bet aling _ ut bet alt Ġtar Ġmed Ġved tak sp eri ode - ider Ġfor Ġett Ġen k elt Ġved tak `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ) ĊĊĠĠĠĠĠĠĠ Ġval Ġut bet aling Event Ġ= Ġobserv at Ã¸ r . ut bet aling Med U tb et aling Event er . first () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġut bet aling Event . ved tak sp eri ode I der . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 . ved tak sp eri ode . id ( ORG NUM MER ), Ġut bet aling Event . ved tak sp eri ode I der . first ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` ut bet aling _ ut bet alt Ġtar Ġmed Ġved tak sp eri ode - ider Ġfor Ġfl ere Ġved tak `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ) ĊĠĠĠĠĠĠĠ Ġfor l eng V ed tak ( 1 . fe bru ar , Ġ 2 8 . fe bru ar ) ĊĊĠĠĠĠĠĠĠ Ġval Ġf Ã¸ r ste Event Ġ= Ġobserv at Ã¸ r . ut bet aling Med U tb et aling Event er . first () ĊĠĠĠĠĠĠĠ Ġval Ġand re Event Ġ= Ġobserv at Ã¸ r . ut bet aling Med U tb et aling Event er . last () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġf Ã¸ r ste Event . ved tak sp eri ode I der . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 . ved tak sp eri ode . id ( ORG NUM MER ), Ġf Ã¸ r ste Event . ved tak sp eri ode I der . first ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġand re Event . ved tak sp eri ode I der . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 . ved tak sp eri ode . id ( ORG NUM MER ), Ġand re Event . ved tak sp eri ode I der . first ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` ut bet aling _ ut bet alt Ġtar Ġmed Ġved tak sp eri ode - ider Ġfor Ġrev ur der ing Ġover Ġfl ere Ġperiod er `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ) ĊĠĠĠĠĠĠĠ Ġfor l eng V ed tak ( 1 . fe bru ar , Ġ 2 8 . fe bru ar ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( listOf ( 1 . jan uar Ġtil Ġ 1 6 . jan uar ), Ġbere g net In n te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig , Ġref us jon Ġ= ĠRef us jon ( 3 2 0 0 0 . m Ã¥ ned lig , Ġnull , Ġempty List ())) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 2 . ved tak sp eri ode , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġval Ġut bet aling se vent Ġ= Ġobserv at Ã¸ r . ut bet aling Med U tb et aling Event er . last () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġut bet aling se vent . ved tak sp eri ode I der . size ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ut bet aling se vent . ved tak sp eri ode I der . contains ( 1 . ved tak sp eri ode . id ( ORG NUM MER ))) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ut bet aling se vent . ved tak sp eri ode I der . contains ( 2 . ved tak sp eri ode . id ( ORG NUM MER ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` ut bet aling _ ut bet alt Ġtar Ġmed Ġved tak sp eri ode - ider Ġfor Ġfork aste de Ġperiod er `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtil God kj ent ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent , Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad ( Sy k dom ( 1 . fe bru ar , Ġ 2 8 . fe bru ar , Ġ 1 0 0 . pro sent ), Ġand re In n tek ts k ilder Ġ= ĠlistOf ( S Ã¸ kn ad . In n tek ts k ilde ( true , Ġ" FR IL AN SER "))) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġval Ġut bet aling Event Ġ= Ġobserv at Ã¸ r . ut bet aling Med U tb et aling Event er . first () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġut bet aling Event . ved tak sp eri ode I der . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 . ved tak sp eri ode . id ( ORG NUM MER ), Ġut bet aling Event . ved tak sp eri ode I der . first ()) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` av vis er Ġrev ur der ing Ġav Ġinn te kt Ġfor Ġs aker Ġmed Ġfl ere Ġar be id sg iv ere `() Ġ{ ĊĠĠĠĠĠĠĠ Ġn ye V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar , Ġa 1 , Ġa 2 ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig , Ġa 1 , Ġ 1 . jan uar ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġobserv at Ã¸ r . av v iste Rev ur der inger . size ) ĊĠĠĠĠĠĠĠ Ġassert Error (" Fore sp urt Ġover sty ring Ġav Ġinn te kt Ġh vor Ġperson en Ġhar Ġfl ere Ġar be id sg iv ere Ġ( ink l . Ġg hosts )") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` av vis er Ġrev ur der ing Ġav Ġinn te kt Ġfor Ġs aker Ġmed Ġ 1 Ġar be id sg iver Ġog Ġghost `() Ġ{ ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ), Ġorg nummer Ġ= Ġa 1 ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad ( Sy k dom ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ), Ġorg nummer Ġ= Ġa 1 ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 . jan uar Ġtil Ġ 1 6 . jan uar ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf Ã¸ r ste Fr av Ã¦ r sd ag Ġ= Ġ 1 . jan uar , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġref us jon Ġ= ĠRef us jon ( 3 1 0 0 0 . m Ã¥ ned lig , Ġnull , Ġempty List ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorg nummer Ġ= Ġa 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinn tek ter Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg run nl ag ( a 1 , Ġfin n Sk j Ã¦ ring st id sp unkt ( a 1 , Ġ 1 . ved tak sp eri ode ), Ġ 3 1 0 0 0 . m Ã¥ ned lig . repeat ( 3 )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg run nl ag ( a 2 , Ġfin n Sk j Ã¦ ring st id sp unkt ( a 1 , Ġ 1 . ved tak sp eri ode ), Ġ 3 2 0 0 0 . m Ã¥ ned lig . repeat ( 3 )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġar be ids for hold Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠV ilk Ã¥ rs gr un nl ag . Ar be ids for hold ( a 1 , ĠLocalDate . EPOCH , Ġnull ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠV ilk Ã¥ rs gr un nl ag . Ar be ids for hold ( a 2 , ĠLocalDate . EPOCH , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode , Ġorg nummer Ġ= Ġa 1 ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter V ilk Ã¥ rs gr un nl ag ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġved tak sp eri ode Id In nh enter Ġ= Ġ 1 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinn tek tsv ur der ing Ġ= ĠIn n tek tsv ur der ing ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsam men l ign ings gr un nl ag ( a 1 , Ġfin n Sk j Ã¦ ring st id sp unkt ( a 1 , Ġ 1 . ved tak sp eri ode ), Ġ 3 1 0 0 0 . m Ã¥ ned lig . repeat ( 1 2 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsam men l ign ings gr un nl ag ( a 2 , Ġfin n Sk j Ã¦ ring st id sp unkt ( a 1 , Ġ 1 . ved tak sp eri ode ), Ġ 3 2 0 0 0 . m Ã¥ ned lig . repeat ( 1 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorg nummer Ġ= Ġa 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinn tek tsv ur der ing For Sy ke pen ge gr un nl ag Ġ= ĠIn n te kt For Sy ke pen ge gr un nl ag ( inn tek ter Ġ= Ġinn tek ter , Ġar be ids for hold Ġ= Ġempty List ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġar be ids for hold Ġ= Ġar be ids for hold ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode , Ġorg nummer Ġ= Ġa 1 ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 1 . ved tak sp eri ode , Ġorg nummer Ġ= Ġa 1 ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 1 . ved tak sp eri ode , Ġorg nummer Ġ= Ġa 1 ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt ( org nummer Ġ= Ġa 1 ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( 3 2 0 0 0 . m Ã¥ ned lig , Ġa 1 , Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġobserv at Ã¸ r . av v iste Rev ur der inger . size ) ĊĠĠĠĠĠĠĠ Ġassert Error (" Fore sp urt Ġover sty ring Ġav Ġinn te kt Ġh vor Ġperson en Ġhar Ġfl ere Ġar be id sg iv ere Ġ( ink l . Ġg hosts )") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` V ed Ġrev ur der ing Ġav Ġinn te kt Ġtil Ġunder Ġkr av Ġtil Ġmin ste Ġsy ke pen ge gr un nl ag Ġskal Ġut bet aling Ġopp h Ã¸ res `() Ġ{ ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad ( Sy k dom ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( listOf ( 1 . jan uar Ġtil Ġ 1 6 . jan uar ), Ġf Ã¸ r ste Fr av Ã¦ r sd ag Ġ= Ġ 1 . jan uar , Ġbere g net In n te kt Ġ= Ġ 5 0 0 0 0 . Ã¥ rl ig ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġval Ġinn tek ter Ġ= ĠlistOf ( gr un nl ag ( ORG NUM MER , Ġ 1 . jan uar , Ġ 5 0 0 0 0 . Ã¥ rl ig . repeat ( 3 ))) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter V ilk Ã¥ rs gr un nl ag ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 . ved tak sp eri ode , Ġinn tek tsv ur der ing Ġ= ĠIn n tek tsv ur der ing ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsam men l ign ings gr un nl ag ( ORG NUM MER , Ġ 1 . jan uar , Ġ 5 0 0 0 0 . Ã¥ rl ig . repeat ( 1 2 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinn tek tsv ur der ing For Sy ke pen ge gr un nl ag Ġ= ĠIn n te kt For Sy ke pen ge gr un nl ag ( inn tek ter Ġ= Ġinn tek ter , Ġar be ids for hold Ġ= Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( 4 6 0 0 0 . Ã¥ rl ig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) Ġ// Ġda Ġh av ner Ġvi Ġunder Ġgre ia ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġval Ġut bet al inger Ġ= Ġins pe kt Ã¸ r . ut bet al inger ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġut bet al inger . map Ġ{ Ġit . ins pe kt Ã¸ r . ar be id sg iver Opp drag . f ags ystem Id () Ġ}. toSet (). size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ut bet al inger . first (). ins pe kt Ã¸ r . ar be id sg iver Opp drag . net to Bel Ã¸ p (), Ġ- 1 Ġ* Ġut bet al inger . last (). ins pe kt Ã¸ r . ar be id sg iver Opp drag . net to Bel Ã¸ p ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġut bet al inger . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur der Ġinn te kt Ġtil Ġunder Ġkr av Ġtil Ġmin ste Ġsy ke pen ge gr un nl ag Ġs lik Ġat Ġut bet aling Ġopp h Ã¸ rer , Ġog Ġs Ã¥ Ġrev ur der Ġig jen Ġtil Ġover Ġkr av Ġtil Ġmin ste Ġsy ke pen ge gr un nl ag `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠOver M inst eg ren se Ġ= Ġ 5 0 0 0 0 . Ã¥ rl ig ĊĠĠĠĠĠĠĠ Ġval ĠUnder M inst eg ren se Ġ= Ġ 4 6 0 0 0 . Ã¥ rl ig ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad ( Sy k dom ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( listOf ( 1 . jan uar Ġtil Ġ 1 6 . jan uar ), Ġf Ã¸ r ste Fr av Ã¦ r sd ag Ġ= Ġ 1 . jan uar , Ġbere g net In n te kt Ġ= ĠOver M inst eg ren se ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġval Ġinn tek ter Ġ= ĠlistOf ( gr un nl ag ( ORG NUM MER , Ġ 1 . jan uar , ĠOver M inst eg ren se . repeat ( 3 ))) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter V ilk Ã¥ rs gr un nl ag ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 . ved tak sp eri ode , Ġinn tek tsv ur der ing Ġ= ĠIn n tek tsv ur der ing ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsam men l ign ings gr un nl ag ( ORG NUM MER , Ġ 1 . jan uar , ĠOver M inst eg ren se . repeat ( 1 2 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinn tek tsv ur der ing For Sy ke pen ge gr un nl ag Ġ= ĠIn n te kt For Sy ke pen ge gr un nl ag ( inn tek ter Ġ= Ġinn tek ter , Ġar be ids for hold Ġ= Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( Under M inst eg ren se , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( Over M inst eg ren se , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġval Ġut bet al inger Ġ= Ġins pe kt Ã¸ r . ut bet al inger ĊĠĠĠĠĠĠĠ Ġvar Ġopp rin nel ig F ags ystem Id : ĠString ? ĊĠĠĠĠĠĠĠ Ġut bet al inger [ 0 ]. ins pe kt Ã¸ r . ar be id sg iver Opp drag . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġskal Ha End ring sk ode ( End ring sk ode . NY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopp rin nel ig F ags ystem Id Ġ= Ġf ags ystem Id () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst (). assert U tb et al ings lin je ( End ring sk ode . NY , Ġ 1 , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġut bet al inger [ 1 ]. ins pe kt Ã¸ r . ar be id sg iver Opp drag . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġskal Ha End ring sk ode ( End ring sk ode . END R ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( op pr in nel ig F ags ystem Id , Ġf ags ystem Id ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst (). assert U tb et al ings lin je ( End ring sk ode . END R , Ġ 1 , Ġnull , Ġnull , ĠÃ ¸ n sk et D ato Status F om Ġ= Ġ 1 7 . jan uar ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġut bet al inger [ 2 ]. ins pe kt Ã¸ r . ar be id sg iver Opp drag . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġskal Ha End ring sk ode ( End ring sk ode . END R ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( op pr in nel ig F ags ystem Id , Ġf ags ystem Id ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst (). assert U tb et al ings lin je ( End ring sk ode . NY , Ġ 2 , Ġ 1 , Ġf ags ystem Id ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert Warning ( WARN _ FOR LEN GER _ OP PH Ã ĺ RT _ OP P DR AG , ĠA ktiv it ets log g Filter . person ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur der ing Ġav Ġinn te kt Ġde le ger es Ġtil Ġden Ġf Ã¸ r ste Ġperiod en Ġsom Ġhar Ġen Ġut bet aling st ids lin je Ġ- Ġar be id sg ivers Ã¸ kn ad Ġf Ã¸ rst `() Ġ{ ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 1 . jan uar , Ġ 1 5 . jan uar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad ( Sy k dom ( 1 . jan uar , Ġ 1 5 . jan uar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sh istor ikk ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 1 6 . jan uar , Ġ 1 5 . fe bru ar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad ( Sy k dom ( 1 6 . jan uar , Ġ 1 5 . fe bru ar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Per i ode ( 1 . jan uar , Ġ 1 6 . jan uar )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter V ilk Ã¥ rs gr un nl ag ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( sk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 2 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET _ UT EN _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET _ UT EN _ UT B ET AL ING ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur der ing Ġav Ġinn te kt Ġde le ger es Ġtil Ġden Ġf Ã¸ r ste Ġperiod en Ġsom Ġhar Ġen Ġut bet aling st ids lin je Ġ- Ġper i ode Ġut en Ġut bet aling Ġf Ã¸ rst `() Ġ{ ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad ( Sy k dom ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ), ĠF er ie ( 1 . jan uar , Ġ 3 1 . jan uar )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sh istor ikk ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( listOf ( Per i ode ( 1 . jan uar , Ġ 1 6 . jan uar ))) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 1 . fe bru ar , Ġ 2 8 . fe bru ar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad ( Sy k dom ( 1 . fe bru ar , Ġ 2 8 . fe bru ar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter V ilk Ã¥ rs gr un nl ag ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( sk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġins pe kt Ã¸ r . ut bet al inger . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġins pe kt Ã¸ r . ut bet al inger ( 1 . ved tak sp eri ode ). size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġins pe kt Ã¸ r . ut bet al inger ( 2 . ved tak sp eri ode ). size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( U tb et aling . U tb et alt , Ġins pe kt Ã¸ r . ut bet aling til stand ( 0 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( U tb et aling . God kj ent U ten U tb et aling , Ġins pe kt Ã¸ r . ut bet aling til stand ( 1 )) ĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET _ UT EN _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET _ UT EN _ UT B ET AL ING ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert Til stand er ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTART , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV VENT ER _ G OD KJ EN NING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAV SL UT TET ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Alle Ġperiod er Ġmed Ġakt ue lt Ġsk j Ã¦ ring st id sp unkt Ġskal Ġv Ã¦ re Ġst emp let Ġmed Ġh en del se Id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġfor l eng V ed tak ( 1 . fe bru ar , Ġ 2 8 . fe bru ar ) ĊĠĠĠĠĠĠĠ Ġval Ġover st yr In n te kt H en del se Id Ġ= ĠUUID . randomUUID () ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( sk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar , Ġme ld ings refer an se Id Ġ= Ġover st yr In n te kt H en del se Id ) ĊĠĠĠĠĠĠĠ Ġassert Har H en del se I der ( 1 . ved tak sp eri ode , Ġover st yr In n te kt H en del se Id ) ĊĠĠĠĠĠĠĠ Ġassert Har H en del se I der ( 2 . ved tak sp eri ode , Ġover st yr In n te kt H en del se Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` K un Ġperiod er Ġmed Ġakt ue lt Ġsk j Ã¦ ring st id sp unkt Ġskal Ġv Ã¦ re Ġst emp let Ġmed Ġh en del se Id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . mars , Ġ 3 1 . mars ) ĊĠĠĠĠĠĠĠ Ġfor l eng V ed tak ( 1 . apr il , Ġ 3 0 . apr il ) ĊĠĠĠĠĠĠĠ Ġval Ġover st yr In n te kt H en del se Id Ġ= ĠUUID . randomUUID () ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( sk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . mars , Ġme ld ings refer an se Id Ġ= Ġover st yr In n te kt H en del se Id ) ĊĊĠĠĠĠĠĠĠ Ġassert Har Ik ke H en del se I der ( 1 . ved tak sp eri ode , Ġover st yr In n te kt H en del se Id ) ĊĠĠĠĠĠĠĠ Ġassert Har H en del se I der ( 2 . ved tak sp eri ode , Ġover st yr In n te kt H en del se Id ) ĊĠĠĠĠĠĠĠ Ġassert Har H en del se I der ( 3 . ved tak sp eri ode , Ġover st yr In n te kt H en del se Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur dere Ġinn te kt Ġs lik Ġat Ġdet Ġb lir Ġbru ker ut bet aling `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 5 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sg od k jen ning ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur dere Ġinn te kt Ġs lik Ġat Ġdet Ġb lir Ġbru ker ut bet aling Ġ` () Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 5 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġassert S iste Til stand ( 1 . ved tak sp eri ode , ĠAV VENT ER _ SI MUL ER ING _ REV UR DER ING ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur dere Ġinn te kt Ġs lik Ġat Ġdet Ġb lir Ġdel vis Ġref us jon `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( listOf ( Per i ode ( 1 . jan uar , Ġ 1 6 . jan uar )), Ġref us jon Ġ= ĠRef us jon ( 2 5 0 0 0 . m Ã¥ ned lig , Ġnull , Ġempty List ())) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 3 5 0 0 0 . m Ã¥ ned lig , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġassert S iste Til stand ( 1 . ved tak sp eri ode , ĠAV VENT ER _ SI MUL ER ING _ REV UR DER ING ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur dere Ġmens Ġen Ġper i ode Ġer Ġtil Ġut bet aling `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġfor l eng Til God kj ent V ed tak ( 1 . fe bru ar , Ġ 2 8 . fe bru ar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( IN N TE KT / 2 , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġassert Til stand er ( 1 . ved tak sp eri ode , ĠSTART , ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĠAV VENT ER _ HIST OR IK K , ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĠAV VENT ER _ HIST OR IK K , ĠAV VENT ER _ SI MUL ER ING , ĠAV VENT ER _ G OD KJ EN NING , ĠT IL _ UT B ET AL ING , ĠAV SL UT TET ) ĊĠĠĠĠĠĠĠ Ġassert Til stand er ( 2 . ved tak sp eri ode , ĠSTART , ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĠAV VENT ER _ HIST OR IK K , ĠAV VENT ER _ SI MUL ER ING , ĠAV VENT ER _ G OD KJ EN NING , ĠT IL _ UT B ET AL ING ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` rev ur dere Ġmens Ġen Ġper i ode Ġhar Ġfe ilet Ġi Ġut bet aling `() Ġ{ ĊĠĠĠĠĠĠĠ Ġny tt V ed tak ( 1 . jan uar , Ġ 3 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġfor l eng Til God kj ent V ed tak ( 1 . fe bru ar , Ġ 2 8 . fe bru ar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et alt ( status Ġ= ĠO pp drag status . FE IL ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( IN N TE KT / 2 , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġ 1 . jan uar ) ĊĠĠĠĠĠĠĠ Ġassert Til stand er ( 1 . ved tak sp eri ode , ĠSTART , ĠAV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĠAV VENT ER _ HIST OR IK K , ĠAV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĠAV VENT ER _ HIST OR IK K , ĠAV VENT ER _ SI MUL ER ING , ĠAV VENT ER _ G OD KJ EN NING , ĠT IL _ UT B ET AL ING , ĠAV SL UT TET ) ĊĠĠĠĠĠĠĠ Ġassert Til stand er ( 2 . ved tak sp eri ode , ĠSTART , ĠAV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĠAV VENT ER _ HIST OR IK K , ĠAV VENT ER _ SI MUL ER ING , ĠAV VENT ER _ G OD KJ EN NING , ĠT IL _ UT B ET AL ING , ĠU TB ET AL ING _ FE ILE T ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠO pp drag . sk al Ha End ring sk ode ( kode : ĠEnd ring sk ode , Ġmessage : ĠString Ġ= Ġ"") Ġ= Ġaccept ( U tb et aling Sk al Ha End ring sk ode ( kode , Ġmessage )) Ċ Ċ private Ġclass ĠU tb et aling Sk al Ha End ring sk ode ( private Ġval ĠÃ ¸ n sk et End ring sk ode : ĠEnd ring sk ode , Ġprivate Ġval Ġmessage : ĠString Ġ= Ġ"") Ġ: ĠO pp drag Visitor Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġpre Visit Opp drag ( ĊĠĠĠĠĠĠĠ Ġopp drag : ĠO pp drag , ĊĠĠĠĠĠĠĠ Ġf ag om r Ã¥ de : ĠF ag om r Ã¥ de , ĊĠĠĠĠĠĠĠ Ġf ags ystem Id : ĠString , ĊĠĠĠĠĠĠĠ Ġmot t aker : ĠString , ĊĠĠĠĠĠĠĠ Ġf Ã¸ rst ed ato : ĠLocalDate , ĊĠĠĠĠĠĠĠ Ġs isted ato : ĠLocalDate , ĊĠĠĠĠĠĠĠ Ġsist e Ar be id sg iver dag : ĠLocalDate ?, ĊĠĠĠĠĠĠĠ Ġst Ã¸ nad sd ager : ĠInt , ĊĠĠĠĠĠĠĠ Ġtotal Bel Ã¸ p : ĠInt , ĊĠĠĠĠĠĠĠ Ġnet to Bel Ã¸ p : ĠInt , ĊĠĠĠĠĠĠĠ Ġt ids st emp el : ĠLocalDateTime , ĊĠĠĠĠĠĠĠ Ġend ring sk ode : ĠEnd ring sk ode , ĊĠĠĠĠĠĠĠ Ġav stem m ings n Ã¸ kk el : ĠLong ?, ĊĠĠĠĠĠĠĠ Ġstatus : ĠO pp drag status ?, ĊĠĠĠĠĠĠĠ Ġover f Ã¸ ring st id sp unkt : ĠLocalDateTime ?, ĊĠĠĠĠĠĠĠ Ġer Sim ul ert : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġsim uler ings Result at : ĠSim uler ing . Sim uler ing Result at ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( Ã¸ n sk et End ring sk ode , Ġend ring sk ode , Ġmessage ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠU tb et al ings lin je . assert U tb et al ings lin je ( ĊĠĠĠ ĠÃ ¸ n sk et End ring sk ode : ĠEnd ring sk ode , ĊĠĠĠ ĠÃ ¸ n sk et D ely t else Id : ĠInt , ĊĠĠĠ ĠÃ ¸ n sk et Ref D ely t else Id : ĠInt ? Ġ= Ġnull , ĊĠĠĠ ĠÃ ¸ n sk et Ref F ags ystem Id : ĠString ? Ġ= Ġnull , ĊĠĠĠ ĠÃ ¸ n sk et D ato Status F om : ĠLocalDate ? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġval Ġvisitor Ġ= Ġobject Ġ: ĠO pp drag Visitor Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġvisit U tb et al ings lin je ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlin je : ĠU tb et al ings lin je , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf om : ĠLocalDate , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtom : ĠLocalDate , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġst Ã¸ nad sd ager : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal bel Ã¸ p : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsat stype : ĠSat stype , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbel Ã¸ p : ĠInt ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġakt ue ll D ags inn te kt : ĠInt ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrad : ĠInt ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġde ly t else Id : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġref D ely t else Id : ĠInt ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġref F ags ystem Id : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend ring sk ode : ĠEnd ring sk ode , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdat o Status F om : ĠLocalDate ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus kode : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġklas se kode : ĠK lasse kode ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Ã¸ n sk et End ring sk ode , Ġend ring sk ode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Ã¸ n sk et D ely t else Id , Ġde ly t else Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Ã¸ n sk et Ref D ely t else Id , Ġref D ely t else Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Ã¸ n sk et Ref F ags ystem Id , Ġref F ags ystem Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Ã¸ n sk et D ato Status F om , Ġdat o Status F om ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġaccept ( visitor ) Ċ } Ċ