package Ġno . nav . hel se . sp le is . e 2 e Ċ Ċ import Ġjava . time . LocalDate Ċ 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 . Sy k meld ing sp eri ode Ċ 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 . ins pe kt Ã¸ r Ċ import Ġno . nav . hel se . jan uar Ċ import Ġno . nav . hel se . person . Til stand Type Ċ 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 . assertTrue Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ internal Ġclass ĠOver st yr In n te kt Test Ġ: ĠAbstract End ToEnd Test () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` sk al Ġkun ne Ġover sty re Ġen Ġinn te kt Ġi Ġet Ġen k elt Ġcase `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠH va Ġg j Ã¸ r Ġvi Ġeg ent lig Ġmed Ġover sty ring ? ĠSk al Ġman Ġkun ne Ġset te Ġopp Ġinn tek ten Ġut en ĠÃ¥ Ġha Ġmot t att Ġen Ġny Ġinn tek ts meld ing Ġmed Ġn ye Ġref us j ons op pl ys ning er ? ĊĠĠĠĠĠĠĠ Ġval Ġf om Ġ= Ġ 1 . jan uar ( 2 0 2 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġover sty rt In n te kt Ġ= Ġ 3 2 0 0 0 . m Ã¥ ned lig ĊĠĠĠĠĠĠĠ Ġtil God k jen ning ( f om , Ġ 3 1 . jan uar ( 2 0 2 1 ), Ġ 1 0 0 . pro sent , Ġf om ) ĊĊĠĠĠĠĠĠĠ Ġassert In n te kt For D ato ( IN N TE KT , Ġf om , Ġins pe kt Ã¸ r Ġ= Ġins pe kt Ã¸ r ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing ( listOf ( f om Ġtil Ġf om . plus Days ( 1 5 )), Ġbere g net In n te kt Ġ= Ġover sty rt In n te kt , Ġref us jon Ġ= ĠRef us jon ( over sty rt In n te kt , Ġnull , Ġ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 Over st yr In n te kt ( inn te kt Ġ= Ġover sty rt In n te kt , Ġorg nummer Ġ= ĠOR G NUM MER , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġf om ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( 1 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . START , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING , Ġ// Ġ<-- ĠHer Ġst Ã¥r Ġvi Ġn Ã¥r Ġvi Ġover st yr er Ġinn te kt . ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġd ra Ġs aken Ġtil ĠAV VENT ER _ G OD KJ EN NING ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter V ilk Ã¥ rs gr un nl ag ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġ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 Ġat Ġvi Ġg Ã¥r Ġg j enn om Ġrest ene Ġav Ġtil stand ene Ġsom Ġvan lig ĊĠĠĠĠĠĠĠ Ġassert Til stand er ( 1 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . START , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING , Ġ// Ġ<-- ĠHer Ġst o Ġvi Ġda Ġvi Ġover st yr te Ġinn te kt . ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING ) Ġ// Ġ<-- Ġog Ġher Ġskal Ġden Ġn ye , Ġover st yr te Ġinn tek ten Ġv Ã¦ rt Ġben y tt et ĊĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġat Ġvi Ġbru ker Ġden Ġn ye Ġinn tek ten Ġi Ġbere g ning Ġav Ġp enger Ġtil Ġs j uk . ĊĠĠĠĠĠĠĠ Ġassert In n te kt For D ato ( over sty rt In n te kt , Ġf om , Ġins pe kt Ã¸ r Ġ= Ġins pe kt Ã¸ r ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` over sty rt Ġinn te kt Ġtil Ġmer Ġen n Ġ 2 5 Ġpro sent Ġav vik Ġskal Ġsen des Ġtil Ġinfo try gd `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġf om Ġ= Ġ 1 . jan uar ( 2 0 2 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġover sty rt In n te kt Ġ= ĠIN N TE KT * 1 . 4 0 ĊĠĠĠĠĠĠĠ Ġtil God k jen ning ( f om , Ġ 3 1 . jan uar ( 2 0 2 1 ), Ġ 1 0 0 . pro sent , Ġf om ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġover sty rt In n te kt , Ġorg nummer Ġ= ĠOR G NUM MER , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġf om ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter V ilk Ã¥ rs gr un nl ag ( 1 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġassert Fork ast et Per i ode Til stand er ( 1 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . START , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . T IL _ INF OT RY GD ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` av vis er Ġover sty ring Ġav Ġinn te kt Ġfor Ġs aker Ġmed Ġfl ere Ġar be id sg iv ere `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ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 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 2 ) ĊĊĠĠĠĠĠĠĠ Ġ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 S Ã¸ kn ad ( Sy k dom ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent ), Ġorg nummer Ġ= Ġa 2 ) ĊĊĠĠĠĠĠĠĠ Ġ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 , Ġ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 , Ġorg nummer Ġ= Ġa 2 ) ĊĊĠĠĠĠĠĠĠ Ġ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 1 0 0 0 . m Ã¥ ned lig . repeat ( 3 )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ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 ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 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 1 0 0 0 . m Ã¥ ned lig . 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 ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorg nummer Ġ= Ġa 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ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 Over st yr In n te kt ( inn te kt Ġ= Ġ 3 3 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 Ġover sty ring Ġ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 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 Ġ` sk al Ġkun ne Ġover sty re Ġinn te kt Ġi Ġut k ast Ġtil Ġrev ur der ing `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ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 Ġ= Ġ 2 0 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 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 1 0 1 5 3 Ġ= Ġround (( 2 0 0 0 0 Ġ* Ġ 1 2 ) Ġ/ Ġ 2 6 0 ) Ġ* Ġ 1 1 Ġ( 1 1 Ġnav - d ager Ġi Ġj an uar Ġ 2 0 1 8 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 1 5 3 , Ġins pe kt Ã¸ r . ut bet al inger . last (). ins pe kt Ã¸ r . ar be id sg iver Opp drag . total bel Ã¸ p ()) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 2 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 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 1 2 6 9 4 Ġ= Ġround (( 2 5 0 0 0 Ġ* Ġ 1 2 ) Ġ/ Ġ 2 6 0 ) Ġ* Ġ 1 1 Ġ( 1 1 Ġnav - d ager Ġi Ġj an uar ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 2 6 9 4 , Ġins pe kt Ã¸ r . ut bet al inger . last (). ins pe kt Ã¸ r . ar be id sg iver Opp drag . total bel Ã¸ p ()) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( 1 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . START , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . T IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING _ REV UR DER ING ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` sk al Ġkun ne Ġover sty re Ġinn te kt Ġi Ġut k ast Ġtil Ġrev ur der ing , Ġo gs Ã¥ Ġn Ã¥r Ġdet Ġer Ġsn akk Ġom Ġfl ere Ġperiod er `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ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 ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 2 0 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 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 2 8 6 1 3 Ġ= Ġround (( 2 0 0 0 0 Ġ* Ġ 1 2 ) Ġ/ Ġ 2 6 0 ) Ġ* Ġ 3 1 Ġ( 3 1 Ġnav - d ager Ġi Ġj an uar Ġ+ Ġfe bru ar Ġ 2 0 1 8 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 8 6 1 3 , Ġins pe kt Ã¸ r . ut bet al inger . last (). ins pe kt Ã¸ r . ar be id sg iver Opp drag . total bel Ã¸ p ()) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr In n te kt ( inn te kt Ġ= Ġ 2 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 Y tel ser ( 2 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sim uler ing ( 2 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 3 5 7 7 4 Ġ= Ġround (( 2 5 0 0 0 Ġ* Ġ 1 2 ) Ġ/ Ġ 2 6 0 ) Ġ* Ġ 3 1 Ġ( 3 1 Ġnav - d ager Ġi Ġj an uar Ġ+ Ġfe bru ar ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 5 7 7 4 , Ġins pe kt Ã¸ r . ut bet al inger . last (). ins pe kt Ã¸ r . ar be id sg iver Opp drag . total bel Ã¸ p ()) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( 1 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . START , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . T IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ GJ EN NO MF Ã ĺ RT _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ GJ EN NO MF Ã ĺ RT _ REV UR DER ING ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( 2 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . START , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . T IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ AR BE ID SG IVER E _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ AR BE ID SG IVER E _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING _ REV UR DER ING ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` sk al Ġkun ne Ġover sty re Ġinn te kt Ġi Ġut k ast Ġtil Ġrev ur der ing Ġved Ġrev ur der ing Ġav Ġt ids lin je `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ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 ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Over st yr T ids lin je (( 2 0 . jan uar Ġtil Ġ 2 9 . jan uar ). map Ġ{ Ġman ue ll F er ied ag ( it ) Ġ}) ĊĠĠĠĠĠĠĠ Ġ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 Over st yr In n te kt ( inn te kt Ġ= Ġ 2 0 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 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 2 3 0 7 5 Ġ= Ġround (( 2 0 0 0 0 Ġ* Ġ 1 2 ) Ġ/ Ġ 2 6 0 ) Ġ* Ġ 2 5 Ġ( 2 5 Ġnav - d ager Ġi Ġj an uar Ġ+ Ġfe bru ar Ġ 2 0 1 8 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 3 0 7 5 , Ġins pe kt Ã¸ r . ut bet al inger . last (). ins pe kt Ã¸ r . ar be id sg iver Opp drag . total bel Ã¸ p ()) ĊĠĠĠĠĠĠĠ ĠassertEquals (" SSSS SH H ĠS SSSS HH ĠS SSSS FF ĠF FFFFFF ĠF SSSS HH ĠS SSSS HH ĠS SSSS HH ĠS SSSS HH ĠS SS ", Ġins pe kt Ã¸ r . sy k dom sh istor ikk . sy k dom st ids lin je (). to Short String (). trim ()) ĊĠĠĠĠĠĠĠ ĠassertEquals (" PP PP PP P ĠP PP PP PP ĠPP NN N FF ĠF FFFFFF ĠF NNNN HH ĠN NNNN HH ĠN NNNN HH ĠN NNNN HH ĠN NN ", Ġins pe kt Ã¸ r . s iste U tb et aling U tb et aling st ids lin je (). toString (). trim ()) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( 1 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . START , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ IN N TE K TS ME LD ING _ EL LER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . T IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ GJ EN NO MF Ã ĺ RT _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ V IL K Ã ħ R SPR Ã ĺ V ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ GJ EN NO MF Ã ĺ RT _ REV UR DER ING ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġassert Til stand er ( 2 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . START , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ B LO KK ER EN DE _ PER IO DE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . T IL _ UT B ET AL ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV SL UT TET , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ AR BE ID SG IVER E _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ AR BE ID SG IVER E _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ HIST OR IK K _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ SI MUL ER ING _ REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT il stand Type . AV VENT ER _ G OD KJ EN NING _ REV UR DER ING ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` V ed Ġover sty ring Ġav Ġinn te kt Ġtil Ġunder Ġkr av Ġtil Ġmin ste Ġsy ke pen ge gr un nl ag Ġskal Ġvi Ġl age Ġen Ġut bet aling Ġut en Ġut bet aling `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ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 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 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 U tb et aling sg od k jen ning ( 1 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġval Ġut bet al inger Ġ= Ġins pe kt Ã¸ r . ut bet al inger ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġut bet al inger . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġut bet al inger . last (). ins pe kt Ã¸ r . ar be id sg iver Opp drag . net to Bel Ã¸ p ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ut bet al inger . last (). er Av sl utt et ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ut bet al inger . first (). ins pe kt Ã¸ r . er Fork ast et ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` V ed Ġover sty ring Ġav Ġrev ur der ing Ġav Ġinn te kt Ġtil Ġunder Ġkr av Ġtil Ġmin ste Ġsy ke pen ge gr un nl ag Ġskal Ġvi Ġopp h Ã¸ re Ġden Ġopp rin nel ige Ġut bet aling en `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ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 8 0 0 0 . Ã¥ rl ig , Ġ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 Over st yr In n te kt ( 4 6 0 0 0 . Ã¥ rl ig , Ġ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 () ĊĊĠĠĠĠĠĠĠ Ġval Ġut bet al inger Ġ= Ġins pe kt Ã¸ r . ut bet al inger ĊĠĠĠĠĠĠĠ ĠassertTrue ( ut bet al inger [ 0 ]. ins pe kt Ã¸ r . er U tb et alt ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ut bet al inger [ 1 ]. ins pe kt Ã¸ r . er Fork ast et ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ut bet al inger [ 2 ]. ins pe kt Ã¸ r . er U tb et alt ) ĊĠĠĠĠĠĠĠ Ġ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 ( 1 , Ġut bet al inger . map Ġ{ Ġit . ins pe kt Ã¸ r . ar be id sg iver Opp drag . f ags ystem Id () Ġ}. toSet (). size ) ĊĠĠĠ Ġ} Ċ } Ċ