package Ġno . nav . hel se . serde . api Ċ Ċ import Ġno . nav . hel se . hen del ser .* Ċ import Ġno . nav . hel se . person . Ar be id sg iver Ċ import Ġno . nav . hel se . person . In n te kt sh istor ikk Ċ import Ġno . nav . hel se . person . Person Ċ import Ġno . nav . hel se . person . Person Visitor Ċ 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 . serde . api . builders . In n te kt sh istor ikk Builder Ċ import Ġno . nav . hel se . sp le is . e 2 e . Abstract End ToEnd Test Ċ import Ġno . nav . hel se . test helpers . de sem ber Ċ import Ġno . nav . hel se . test helpers . inn te kt period er For Sam men l ign ings gr un nl ag Ċ import Ġno . nav . hel se . test helpers . jan uar Ċ import Ġno . nav . hel se . test helpers . ok to ber Ċ import Ġno . nav . hel se . Ã¸ k onom i . In n te kt . Companion . dag lig Ċ import Ġno . nav . hel se . Ã¸ k onom i . Pro sent del . Companion . pro sent Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . time . LocalDate Ċ import Ġjava . util .* Ċ Ċ internal Ġclass ĠIn n tek ts gr un nl ag Test Ġ: ĠAbstract End ToEnd Test () Ġ{ ĊĊĠĠĠ Ġprivate Ġclass ĠFin n In n te kt sh istor ikk ( person : ĠPerson , Ġprivate Ġval Ġbuilder : ĠIn n te kt sh istor ikk Builder ) Ġ: ĠPerson Visitor Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinn te kt sh istor ikk Ġ= Ġmutable Map Of < String , ĠIn n te kt sh istor ikk >() ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġorg nummer : ĠString ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperson . accept ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpre Visit Ar be id sg iver ( ar be id sg iver : ĠAr be id sg iver , Ġid : ĠUUID , Ġorgan is as j ons nummer : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorg nummer Ġ= Ġorgan is as j ons nummer ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpre Visit In n tek th istor ikk ( inn te kt sh istor ikk : ĠIn n te kt sh istor ikk ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . inn te kt sh istor ikk [ org nummer ] Ġ= Ġinn te kt sh istor ikk ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . inn te kt sh istor ikk ( org nummer , Ġinn te kt sh istor ikk ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġin fix Ġfun ĠLocalDate . og ( s iste D ato : ĠLocalDate ) Ġ= ĠIn n te kt sh istor ikk Builder . N Ã¸ kk el data Om In n te kt ( s iste D ato , Ġsk j Ã¦ ring st id sp unkt Ġ= Ġthis ) ĊĠĠĠ Ġprivate Ġin fix Ġfun ĠIn n te kt sh istor ikk Builder . N Ã¸ kk el data Om In n te kt . av vik ( av vik sp ros ent : ĠDouble ) Ġ= Ġthis . also Ġ{ Ġit . av vik sp ros ent Ġ= Ġav vik sp ros ent Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` F inner Ġinn tek ts gr un nl ag Ġfor Ġen Ġar be id sg iver Ġmed Ġinn te kt Ġs att Ġav Ġs aks be handler `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ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 )) ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠIn n te kt sh istor ikk Builder ( person ) ĊĠĠĠĠĠĠĠ ĠFin n In n te kt sh istor ikk ( person , Ġbuilder ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( it . inn te kt sh istor ikk . getValue ( ORG NUM MER )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd S aks be handler ( 1 . jan uar , ĠUUID . randomUUID (), ĠIN N TE KT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad Med Val ider ing ( 1 . ved tak sp eri ode , ĠS Ã¸ kn ad . S Ã¸ kn ad sp eri ode . Sy k dom ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing Med Val ider ing ( 1 . ved tak sp eri ode , ĠlistOf ( Per i ode ( 1 . jan uar , Ġ 1 6 . jan uar ))) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĠĠĠĠĠĠĠ Ġ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 ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinn tek ter Ġ= Ġinn te kt period er For Sam men l ign ings gr un nl ag { Ġ 1 . jan uar ( 2 0 1 7 ) Ġtil Ġ 1 . de sem ber ( 2 0 1 7 ) Ġinn tek ter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOR G NUM MER Ġinn te kt ĠIN N TE KT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġbuilder . n Ã¸ kk el data Om In n te kt ( 1 . jan uar Ġog Ġ 3 1 . jan uar Ġav vik Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġinn tek ts gr un nl ag Ġ= Ġbuilder . build () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( inn tek ts gr un nl ag . isNotEmpty ()) ĊĠĠĠĠĠĠĠ Ġinn tek ts gr un nl ag . single Ġ{ Ġit . sk j Ã¦ ring st id sp unkt Ġ== Ġ 1 . jan uar Ġ}. also Ġ{ Ġinn tek ts gr un n la get Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġinn tek ts gr un n la get . sy ke pen ge gr un nl ag ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġinn tek ts gr un n la get . om reg net Ã ħ rs inn te kt ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġinn tek ts gr un n la get . sam men l ign ings gr un nl ag ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 0 . 0 , Ġinn tek ts gr un n la get . av vik sp ros ent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 4 3 0 . 7 6 9 2 3 0 7 6 9 2 3 0 7 , Ġinn tek ts gr un n la get . mak s U tb et aling Per Dag ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( inn tek ts gr un n la get . inn tek ter . single Ġ{ Ġit . ar be id sg iver Ġ== ĠOR G NUM MER Ġ}. om reg net Ã ħ rs inn te kt ). also Ġ{ Ġom reg net Ã ħ rs inn te kt Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( In n tek ts gr un nl ag DTO . Ar be id sg iver inn te kt DTO . Om reg net Ã ħ rs inn te kt DTO . In n te kt k ilde DTO . S aks be handler , Ġom reg net Ã ħ rs inn te kt . k ilde ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġom reg net Ã ħ rs inn te kt . bel Ã¸ p ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ Ġ_, Ġm nd , Ġ_, Ġ_ Ġ-> Ġm nd Ġ}, Ġom reg net Ã ħ rs inn te kt . m Ã¥ ned sb el Ã¸ p ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` F inner Ġinn tek ts gr un nl ag Ġfor Ġen Ġar be id sg iver Ġmed Ġen Ġinn tek ts meld ing `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ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 Med Val ider ing ( 1 . ved tak sp eri ode , ĠS Ã¸ kn ad . S Ã¸ kn ad sp eri ode . Sy k dom ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing Med Val ider ing ( 1 . ved tak sp eri ode , ĠlistOf ( Per i ode ( 1 . jan uar , Ġ 1 6 . jan uar ))) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġ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 ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinn tek ter Ġ= Ġinn te kt period er For Sam men l ign ings gr un nl ag { Ġ 1 . jan uar ( 2 0 1 7 ) Ġtil Ġ 1 . de sem ber ( 2 0 1 7 ) Ġinn tek ter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOR G NUM MER Ġinn te kt ĠIN N TE KT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 . de sem ber ( 2 0 1 7 ) Ġtil Ġ 1 . de sem ber ( 2 0 1 7 ) Ġinn tek ter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOR G NUM MER Ġinn te kt ĠIN N TE KT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠIn n te kt sh istor ikk Builder ( person ) ĊĠĠĠĠĠĠĠ Ġbuilder . n Ã¸ kk el data Om In n te kt ( 1 . jan uar Ġog Ġ 3 1 . jan uar Ġav vik Ġ 7 . 7 ) ĊĠĠĠĠĠĠĠ ĠFin n In n te kt sh istor ikk ( person , Ġbuilder ) ĊĠĠĠĠĠĠĠ Ġval Ġinn tek ts gr un nl ag Ġ= Ġbuilder . build () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( inn tek ts gr un nl ag . isNotEmpty ()) ĊĠĠĠĠĠĠĠ Ġinn tek ts gr un nl ag . single Ġ{ Ġit . sk j Ã¦ ring st id sp unkt Ġ== Ġ 1 . jan uar Ġ}. also Ġ{ Ġinn tek ts gr un n la get Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġinn tek ts gr un n la get . sy ke pen ge gr un nl ag ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġinn tek ts gr un n la get . om reg net Ã ħ rs inn te kt ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ Ġ_, Ġm nd , Ġ_, Ġ_ Ġ-> Ġm nd Ġ} Ġ* Ġ 1 3 , Ġinn tek ts gr un n la get . sam men l ign ings gr un nl ag ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 7 . 7 , Ġinn tek ts gr un n la get . av vik sp ros ent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 4 3 0 . 7 6 9 2 3 0 7 6 9 2 3 0 7 , Ġinn tek ts gr un n la get . mak s U tb et aling Per Dag ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( inn tek ts gr un n la get . inn tek ter . single Ġ{ Ġit . ar be id sg iver Ġ== ĠOR G NUM MER Ġ}. om reg net Ã ħ rs inn te kt ). also Ġ{ Ġom reg net Ã ħ rs inn te kt Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( In n tek ts gr un nl ag DTO . Ar be id sg iver inn te kt DTO . Om reg net Ã ħ rs inn te kt DTO . In n te kt k ilde DTO . In n tek ts meld ing , Ġom reg net Ã ħ rs inn te kt . k ilde ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġom reg net Ã ħ rs inn te kt . bel Ã¸ p ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ Ġ_, Ġm nd , Ġ_, Ġ_ Ġ-> Ġm nd Ġ}, Ġom reg net Ã ħ rs inn te kt . m Ã¥ ned sb el Ã¸ p ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġinn tek ts gr un nl ag . single Ġ{ Ġit . sk j Ã¦ ring st id sp unkt Ġ== Ġ 1 . jan uar Ġ}. inn tek ter . single Ġ{ Ġit . ar be id sg iver Ġ== ĠOR G NUM MER Ġ}. sam men l ign ings gr un nl ag . also Ġ{ Ġsam men l ign ings gr un nl ag Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( sam men l ign ings gr un nl ag ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ Ġ_, Ġm nd , Ġ_, Ġ_ Ġ-> Ġm nd Ġ} Ġ* Ġ 1 3 , Ġsam men l ign ings gr un nl ag . bel Ã¸ p ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsam men l ign ings gr un nl ag . inn tek ter F ra A Ord ning en . also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 2 , Ġit . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . take ( 1 1 ). forEach Ġ{ Ġinn te kt Ġ-> ĠassertEquals ( IN N TE KT . reflection Ġ{ Ġ_, Ġm nd , Ġ_, Ġ_ Ġ-> Ġm nd Ġ}, Ġinn te kt . sum ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ Ġ_, Ġm nd , Ġ_, Ġ_ Ġ-> Ġm nd Ġ} Ġ* Ġ 2 , Ġit [ 1 1 ]. sum ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` F inner Ġinn tek ts gr un nl ag Ġfor Ġen Ġar be id sg iver Ġmed Ġinn te kt Ġf ra ĠInfo try gd `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ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 Med Val ider ing ( 1 . ved tak sp eri ode , ĠS Ã¸ kn ad . S Ã¸ kn ad sp eri ode . Sy k dom ( 1 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent )) ĊĊĠĠĠĠĠĠĠ Ġval Ġh istor ikk Ġ= ĠAr be id sg iver U tb et aling sp eri ode ( ORG NUM MER , Ġ 1 . ok to ber ( 2 0 1 7 ), ĠĠ 3 1 . de sem ber ( 2 0 1 7 ), Ġ 1 0 0 . pro sent , Ġ 1 0 0 0 . dag lig ) ĊĠĠĠĠĠĠĠ Ġval Ġinn tek ter Ġ= ĠlistOf ( In n tek ts op pl ys ning ( ORG NUM MER , Ġ 1 . ok to ber ( 2 0 1 7 ), ĠIN N TE KT , Ġtrue )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter U tb et aling sh istor ikk ( 1 . ved tak sp eri ode , Ġh istor ikk , Ġinn te kt sh istor ikk Ġ= Ġinn tek ter ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠIn n te kt sh istor ikk Builder ( person ) ĊĠĠĠĠĠĠĠ Ġbuilder . n Ã¸ kk el data Om In n te kt ( 1 . ok to ber ( 2 0 1 7 ) Ġog Ġ 3 1 . jan uar ) ĊĊĠĠĠĠĠĠĠ ĠFin n In n te kt sh istor ikk ( person , Ġbuilder ) ĊĠĠĠĠĠĠĠ Ġval Ġinn tek ts gr un nl ag Ġ= Ġbuilder . build () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( inn tek ts gr un nl ag . isNotEmpty ()) ĊĠĠĠĠĠĠĠ Ġinn tek ts gr un nl ag . single Ġ{ Ġit . sk j Ã¦ ring st id sp unkt Ġ== Ġ 1 . ok to ber ( 2 0 1 7 ) Ġ}. also Ġ{ Ġinn tek ts gr un n la get Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġinn tek ts gr un n la get . sy ke pen ge gr un nl ag ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġinn tek ts gr un n la get . om reg net Ã ħ rs inn te kt ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( inn tek ts gr un n la get . sam men l ign ings gr un nl ag ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( inn tek ts gr un n la get . av vik sp ros ent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 4 3 0 . 7 6 9 2 3 0 7 6 9 2 3 0 7 , Ġinn tek ts gr un n la get . mak s U tb et aling Per Dag ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( inn tek ts gr un n la get . inn tek ter . single Ġ{ Ġit . ar be id sg iver Ġ== ĠOR G NUM MER Ġ}. om reg net Ã ħ rs inn te kt ). also Ġ{ Ġom reg net Ã ħ rs inn te kt Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( In n tek ts gr un nl ag DTO . Ar be id sg iver inn te kt DTO . Om reg net Ã ħ rs inn te kt DTO . In n te kt k ilde DTO . Info try gd , Ġom reg net Ã ħ rs inn te kt . k ilde ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġom reg net Ã ħ rs inn te kt . bel Ã¸ p ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ Ġ_, Ġm nd , Ġ_, Ġ_ Ġ-> Ġm nd Ġ}, Ġom reg net Ã ħ rs inn te kt . m Ã¥ ned sb el Ã¸ p ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertNull ( inn tek ts gr un nl ag . single Ġ{ Ġit . sk j Ã¦ ring st id sp unkt Ġ== Ġ 1 . ok to ber ( 2 0 1 7 ) Ġ}. inn tek ter . single Ġ{ Ġit . ar be id sg iver Ġ== ĠOR G NUM MER Ġ}. sam men l ign ings gr un nl ag ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` F inner Ġinn tek ts gr un nl ag Ġfor Ġen Ġar be id sg iver Ġmed Ġinn te kt Ġf ra ĠInfo try gd ĠpÃ¥ Ġsen ere Ġdat o Ġen n Ġsk j Ã¦ r inst id sp unkt `() Ġ{ ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 1 . jan uar , Ġ 1 6 . jan uar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad Ar be id sg iver ( S Ã¸ kn ad Ar be id sg iver . Sy k dom ( 1 . jan uar , Ġ 1 6 . jan uar , Ġ 1 0 0 . pro sent )) ĊĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 2 5 . 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 Ġ= Ġ 2 5 . jan uar ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter S Ã¸ kn ad Med Val ider ing ( 2 . ved tak sp eri ode , ĠS Ã¸ kn ad . S Ã¸ kn ad sp eri ode . Sy k dom ( 2 5 . jan uar , Ġ 3 1 . jan uar , Ġ 1 0 0 . pro sent )) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 . ved tak sp eri ode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAr be id sg iver U tb et aling sp eri ode ( ORG NUM MER , Ġ 1 7 . jan uar , ĠĠ 2 4 . jan uar , Ġ 1 0 0 . pro sent , Ġ 1 0 0 0 . dag lig ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinn te kt sh istor ikk Ġ= ĠlistOf ( In n tek ts op pl ys ning ( ORG NUM MER , Ġ 1 7 . jan uar , ĠIN N TE KT , Ġtrue )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠIn n te kt sh istor ikk Builder ( person ) ĊĠĠĠĠĠĠĠ Ġbuilder . n Ã¸ kk el data Om In n te kt ( 1 . jan uar Ġog Ġ 3 1 . jan uar ) ĊĊĠĠĠĠĠĠĠ ĠFin n In n te kt sh istor ikk ( person , Ġbuilder ) ĊĠĠĠĠĠĠĠ Ġval Ġinn tek ts gr un nl ag Ġ= Ġbuilder . build () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( inn tek ts gr un nl ag . isNotEmpty ()) ĊĠĠĠĠĠĠĠ Ġinn tek ts gr un nl ag . single Ġ{ Ġit . sk j Ã¦ ring st id sp unkt Ġ== Ġ 1 . jan uar Ġ}. also Ġ{ Ġinn tek ts gr un n la get Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġinn tek ts gr un n la get . sy ke pen ge gr un nl ag ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġinn tek ts gr un n la get . om reg net Ã ħ rs inn te kt ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( inn tek ts gr un n la get . sam men l ign ings gr un nl ag ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( inn tek ts gr un n la get . av vik sp ros ent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 4 3 0 . 7 6 9 2 3 0 7 6 9 2 3 0 7 , Ġinn tek ts gr un n la get . mak s U tb et aling Per Dag ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( inn tek ts gr un n la get . inn tek ter . single Ġ{ Ġit . ar be id sg iver Ġ== ĠOR G NUM MER Ġ}. om reg net Ã ħ rs inn te kt ). also Ġ{ Ġom reg net Ã ħ rs inn te kt Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( In n tek ts gr un nl ag DTO . Ar be id sg iver inn te kt DTO . Om reg net Ã ħ rs inn te kt DTO . In n te kt k ilde DTO . Info try gd , Ġom reg net Ã ħ rs inn te kt . k ilde ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ ĠÃ¥ rl ig , Ġ_, Ġ_, Ġ_ Ġ-> ĠÃ¥ rl ig Ġ}, Ġom reg net Ã ħ rs inn te kt . bel Ã¸ p ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( IN N TE KT . reflection Ġ{ Ġ_, Ġm nd , Ġ_, Ġ_ Ġ-> Ġm nd Ġ}, Ġom reg net Ã ħ rs inn te kt . m Ã¥ ned sb el Ã¸ p ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertNull ( inn tek ts gr un nl ag . single Ġ{ Ġit . sk j Ã¦ ring st id sp unkt Ġ== Ġ 1 . jan uar Ġ}. inn tek ter . single Ġ{ Ġit . ar be id sg iver Ġ== ĠOR G NUM MER Ġ}. sam men l ign ings gr un nl ag ) ĊĠĠĠ Ġ} Ċ } Ċ