package Ġno . nav . t ms . ut bet aling so vers ik t . api . yt else . domain . transformer Ċ Ċ import Ġno . nav . t ms . ut bet aling so vers ik t . api . yt else . domain . Ek st ern Model Object M other Ċ import Ġno . nav . t ms . ut bet aling so vers ik t . api . yt else . domain . external . U tb et aling Ek st ern Ċ import Ġno . nav . t ms . ut bet aling so vers ik t . api . yt else . domain . internal .* Ċ import Ġorg . am sh ove . k lu ent .* Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . lang . Integer . max Ċ Ċ internal Ġclass ĠH oved yt else Transformer Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġtransform ĠE k st ern Yt else `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= ĠE k st ern Model Object M other . give Me U tb et aling Ek st ern () ĊĊĠĠĠĠĠĠĠ Ġval Ġtransformed Ġ= ĠH oved yt else Transformer . to H oved Yt else ( original ) ĊĊĠĠĠĠĠĠĠ Ġvalidate H oved Y tel ser ( original , Ġtransformed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġvalidate H oved Y tel ser ( expected : ĠU tb et aling Ek st ern , Ġto Validate : ĠList < H oved yt else >) Ġ{ ĊĠĠĠĠĠĠĠ Ġto Validate . forEach Ġ{ Ġh oved yt else Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Ret tig het sha ver ( expected , Ġh oved yt else . rett ig het sha ver ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Per i ode ( expected , Ġh oved yt else . yt else Per i ode ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Kont on um mer ( expected , Ġh oved yt else . kont on um mer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Under yt el ser ( expected , Ġh oved yt else . under yt el ser ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Tre kk ( expected , Ġh oved yt else . tre kk ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh oved yt else . yt else Ġ` should Ġbe Ġin ` Ġexpected . yt else List e . map Ġ{ Ġit . yt else stype Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh oved yt else . status Ġ` should Ġbe Ġequal Ġto ` Ġexpected . ut bet al ings status ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh oved yt else . yt else D ato . toString () Ġ` should Ġbe Ġequal Ġto ` Ġexpected . ut bet al ings dat o ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh oved yt else . for fall D ato . toString () Ġ` should Ġbe Ġequal Ġto ` Ġexpected . ut bet al ings dat o ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh oved yt else . ut bet alt Til Ġ` should Ġbe Ġequal Ġto ` Ġexpected . ut bet alt Til . nav n ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh oved yt else . meld ing Ġ` should Ġbe Ġequal Ġto ` Ġexpected . ut bet al ings meld ing ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh oved yt else . er U tb et alt Ġ` should Ġbe Ġequal Ġto ` Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġvalidate Ret tig het sha ver ( expected : ĠU tb et aling Ek st ern , Ġto Validate : ĠRet tig het sha ver ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġexpected . yt else List e . map Ġ{ Ġit . rett ig het sha ver Ġ}. first OrNull () ĊĊĠĠĠĠĠĠĠ Ġto Validate . nav n Ġ` should Ġbe Ġequal Ġto ` Ġoriginal ?. nav n ĊĠĠĠĠĠĠĠ Ġto Validate . ak to er Id Ġ` should Ġbe Ġequal Ġto ` Ġoriginal ?. ak to er Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġvalidate Per i ode ( expected : ĠU tb et aling Ek st ern , Ġto Validate : ĠPer i ode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Pairs Ġ= Ġexpected . yt else List e . map Ġ{ Ġit . yt else sp eri ode Ġ}. map Ġ{ Ġit . f om Ġto Ġit . tom Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpair To Validate Ġ= Ġto Validate . f om . toString () Ġto Ġto Validate . tom . toString () ĊĊĠĠĠĠĠĠĠ Ġpair To Validate Ġ` should Ġbe Ġin ` Ġexpected Pairs ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġvalidate Kont on um mer ( expected : ĠU tb et aling Ek st ern , Ġto Validate : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( expected . ut bet alt Til K onto Ġ!= Ġnull Ġ&& Ġexpected . ut bet alt Til K onto !!. kont on um mer . isNotBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpected . ut bet alt Til K onto !!. kont on um mer Ġ` should Ġcontain ` Ġ Ġto Validate . substring ( max ( to Validate . length Ġ- 5 , Ġ 0 )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Validate Ġ` should Ġbe Ġequal Ġto ` Ġexpected . ut bet al ings met ode ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġvalidate Under yt el ser ( expected : ĠU tb et aling Ek st ern , Ġunder yt el ser : ĠList < Under yt else >) Ġ{ ĊĠĠĠĠĠĠĠ Ġunder yt el ser . size Ġ` should Ġbe Ġequal Ġto ` Ġexpected . yt else List e . size ĊĊĠĠĠĠĠĠĠ Ġval Ġant all Original Ġ= Ġexpected . yt else List e ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . yt el ses k omp onent List e Ġ?: Ġempty List () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. sum Of Ġ{ Ġit . s ats ant all Ġ?: Ġ 0 Ġ} ĊĠĠĠĠĠĠĠ Ġunder yt el ser . sum Of Ġ{ Ġit . ant all Ġ?: Ġ 0 Ġ} Ġ` should Ġbe Ġless Ġor Ġequal Ġto ` Ġant all Original ĊĊĠĠĠĠĠĠĠ Ġval Ġbe lop Original Ġ= Ġexpected . yt else List e ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . yt el ses k omp onent List e Ġ?: Ġempty List () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. sum Of Ġ{ Ġit . s ats be lo ep Ġ?: Ġ 0 . 0 Ġ} ĊĠĠĠĠĠĠĠ Ġunder yt el ser . sum Of Ġ{ Ġit . be lop Ġ?: Ġ 0 . 0 Ġ} Ġ` should Ġbe Ġless Ġor Ġequal Ġto ` Ġbe lop Original ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġvalidate Tre kk ( expected : ĠU tb et aling Ek st ern , Ġtre kk : ĠList < Tre kk >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsk att Original Ġ= Ġexpected . yt else List e ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . sk att List e Ġ?: Ġempty List () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. sum Of Ġ{ Ġit . sk at te be lo ep Ġ?: Ġ 0 . 0 Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtre kk Original Ġ= Ġexpected . yt else List e ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . tre kk List e Ġ?: Ġempty List () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. sum Of Ġ{ Ġit . tre kk be lo ep Ġ?: Ġ 0 . 0 Ġ} ĊĊĠĠĠĠĠĠĠ Ġtre kk . sum Of Ġ{ Ġit . tre kk Be lop Ġ} Ġ` should Ġbe Ġgreater Ġor Ġequal Ġto ` Ġsk att Original Ġ+ Ġtre kk Original ĊĠĠĠ Ġ} Ċ Ċ } Ċ