package Ġno . nav . hel se . sp le is . e 2 e Ċ Ċ import Ġno . nav . hel se . Toggle s Ċ import Ġno . nav . hel se . hen del ser . Per i ode Ċ 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 . person . v ilk Ã¥r . Et ter level se Ċ import Ġno . nav . hel se . test helpers . jan uar Ċ import Ġno . nav . hel se . Ã¸ k onom i . Pro sent del . Companion . pro sent Ċ import Ġorg . junit . jupiter . api . After Each Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Assertions . assertTrue Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . time . LocalDate Ċ Ċ internal Ġclass ĠEt ter level se Test Ġ: ĠAbstract End ToEnd Test () Ġ{ ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġsetup (){ ĊĠĠĠĠĠĠĠ ĠToggle s . Et ter level se . enable () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Each ĊĠĠĠ Ġfun Ġteardown (){ ĊĠĠĠĠĠĠĠ ĠToggle s . Et ter level se . pop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Sy k meld ing Ġmed Ġgr ader ing `() Ġ{ ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 3 . jan uar , Ġ 2 6 . jan uar , Ġ 5 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 ( 3 . jan uar , Ġ 2 6 . jan uar , Ġ 5 0 . pro sent , Ġ 5 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 ( 3 . jan uar , Ġ 1 8 . 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 , ĠIN N TE KT ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode ) ĊĊĠĠĠĠĠĠĠ Ġval Ġet ter level se Ins pe kt Ã¸ r Ġ= ĠEt ter level se Ins pe kt Ã¸ r ( ins pe kt Ã¸ r . person Log g . et ter level se ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġet ter level se Ins pe kt Ã¸ r . size ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( et ter level se Ins pe kt Ã¸ r . result at (" 8 - 2 ", Ġ" 1 "). single (). op pf y lt ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( et ter level se Ins pe kt Ã¸ r . result at (" 8 - 3 ", Ġ" 2 "). single (). op pf y lt ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( et ter level se Ins pe kt Ã¸ r . result at (" 8 - 1 2 ", Ġ" 1 "). single (). op pf y lt ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( et ter level se Ins pe kt Ã¸ r . result at (" 8 - 3 0 ", Ġ" 2 "). single (). op pf y lt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Sy k meld ing Ġmed Ġgr ader ing Ġover Ġ 6 7 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġel d re Person Fn r Ġ= Ġ" 2 1 0 2 3 7 0 1 9 0 1 " ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Sy k meld ing ( Sy k meld ing sp eri ode ( 3 . jan uar , Ġ 2 6 . jan uar , Ġ 5 0 . pro sent ), Ġfn r Ġ= Ġel d re Person Fn r ) ĊĠĠĠĠĠĠĠ Ġ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 ( 3 . jan uar , Ġ 2 6 . jan uar , Ġ 5 0 . pro sent , Ġ 5 0 . pro sent ), Ġfn r Ġ= Ġel d re Person Fn r ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter In n tek ts meld ing Med Val ider ing ( 1 . ved tak sp eri ode , ĠlistOf ( Per i ode ( 3 . jan uar , Ġ 1 8 . jan uar ))) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode , Ġfn r Ġ= Ġel d re Person Fn r ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter V ilk Ã¥ rs gr un nl ag ( 1 . ved tak sp eri ode , ĠIN N TE KT , Ġfn r Ġ= Ġel d re Person Fn r ) ĊĠĠĠĠĠĠĠ Ġh Ã¥ nd ter Y tel ser ( 1 . ved tak sp eri ode , Ġfn r Ġ= Ġel d re Person Fn r ) ĊĊĠĠĠĠĠĠĠ Ġval Ġet ter level se Ins pe kt Ã¸ r Ġ= ĠEt ter level se Ins pe kt Ã¸ r ( ins pe kt Ã¸ r . person Log g . et ter level se ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġet ter level se Ins pe kt Ã¸ r . size ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( et ter level se Ins pe kt Ã¸ r . result at (" 8 - 2 ", Ġ" 1 "). single (). op pf y lt ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( et ter level se Ins pe kt Ã¸ r . result at (" 8 - 5 1 ", Ġ" 2 "). single (). op pf y lt ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( et ter level se Ins pe kt Ã¸ r . result at (" 8 - 1 2 ", Ġ" 1 "). single (). op pf y lt ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( et ter level se Ins pe kt Ã¸ r . result at (" 8 - 3 0 ", Ġ" 2 "). single (). op pf y lt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠEt ter level se Ins pe kt Ã¸ r ( et ter level se : ĠEt ter level se ) Ġ: ĠEt ter level se . Et ter level se Visitor Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġresult ater Ġ= Ġmutable ListOf < Result at >() ĊĊĠĠĠĠĠĠĠ Ġval Ġsize Ġget () Ġ= Ġresult ater . size ĊĠĠĠĠĠĠĠ Ġfun Ġresult at ( par agr af : ĠString , Ġle dd : ĠString ) Ġ= Ġresult ater . filter Ġ{ Ġit . par agr af Ġ== Ġpar agr af Ġ&& Ġit . le dd Ġ== Ġle dd Ġ} ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet ter level se . accept ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġvisit V ur der ings result at ( op pf y lt : ĠBoolean , Ġvers jon : ĠLocalDate , Ġpar agr af : ĠString , Ġle dd : ĠString , Ġinput data : ĠAny ?, Ġoutput data : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult ater . add ( Result at ( op pf y lt , Ġvers jon , Ġpar agr af , Ġle dd , Ġinput data , Ġoutput data )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠResult at ( ĊĠĠĠĠĠĠĠ Ġval Ġopp fy lt : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġval Ġvers jon : ĠLocalDate , ĊĠĠĠĠĠĠĠ Ġval Ġpar agr af : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġle dd : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġinput data : ĠAny ?, ĊĠĠĠĠĠĠĠ Ġval Ġoutput data : ĠAny ? ĊĠĠĠ Ġ) Ċ } Ċ