package Ġch . lead rian . samp . k amp . core . runtime . entity . dialog Ċ Ċ import Ġch . lead rian . samp . k amp . core . api . entity . Player Ċ import Ġch . lead rian . samp . k amp . core . api . entity . dialog . Dialog Text Supplier Ċ import Ġch . lead rian . samp . k amp . core . api . entity . dialog . List Dialog Item Ċ import Ġch . lead rian . samp . k amp . core . api . text . Text Key Ċ import Ġch . lead rian . samp . k amp . core . api . text . Text Provider Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . verify Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . assertj . core . api . Assertions . catch Throwable Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . util . Locale Ċ Ċ internal Ġclass ĠDefault List Dialog Item Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbuilder : ĠDefault List Dialog Item . Builder < Int > ĊĊĠĠĠ Ġprivate Ġval Ġtext Provider Ġ= Ġmock k < Text Provider >() ĊĠĠĠ Ġprivate Ġval Ġplayer Ġ= Ġmock k < Player >() ĊĠĠĠ Ġprivate Ġval Ġlocale Ġ= ĠLocale . GER MAN Y ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġplayer . locale Ġ} Ġreturns Ġlocale ĊĠĠĠĠĠĠĠ Ġbuilder Ġ= ĠDefault List Dialog Item . Builder ( text Provider ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠContent Tests Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġshould Build List Dialog Item With String Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Dialog Item Ġ= Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ( 1 3 3 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent (" Hi Ġthere ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġlist Dialog Item . getContent ( player ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" Hi Ġthere ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġshould Build List Dialog Item With Text Key ed Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Key Ġ= ĠText Key (" test . hi . there ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Provider . getText ( locale , Ġtext Key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġreturns Ġ" Hi Ġthere " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Dialog Item Ġ= Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ( 1 3 3 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent ( text Key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġlist Dialog Item . getContent ( player ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" Hi Ġthere ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġshould Build List Dialog Item With Functional Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Dialog Item Ġ= Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ( 1 3 3 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ{ Ġ" Hi Ġthere " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġlist Dialog Item . getContent ( player ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" Hi Ġthere ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġshould Build List Dialog Item With Supplier Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsupplier Ġ= Ġobject Ġ: ĠDialog Text Supplier Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetText ( player : ĠPlayer ): ĠString Ġ= Ġ" Hi Ġthere " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Dialog Item Ġ= Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ( 1 3 3 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent ( supplier ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġlist Dialog Item . getContent ( player ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" Hi Ġthere ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Build List Dialog Item WithValue () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Dialog Item Ġ= Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ( 1 3 3 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent (" Hi Ġthere ") ĊĠĠĠĠĠĠĠ Ġ}. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġlist Dialog Item . value ĊĊĠĠĠĠĠĠĠ ĠassertThat ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠOn Select Tests Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġshould Build List Dialog Item With On Select () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠonSelect Ġ= Ġmock k < List Dialog Item < Int >. ( Player , ĠString ) Ġ-> ĠUnit > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġthis @ mock k . invoke ( any (), Ġany (), Ġany ()) Ġ} Ġreturns ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Dialog Item Ġ= Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ( 1 3 3 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent (" Hi Ġthere ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSelect ( on Select ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Dialog Item . on Select ( player , Ġ" Test ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ{ ĠonSelect ( list Dialog Item , Ġplayer , Ġ" Test ") Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġgiven Build Without On Select It Should Do Nothing On Select () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Dialog Item Ġ= Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ( 1 3 3 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent (" Hi Ġthere ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcaught Throwable Ġ= Ġcatch Throwable Ġ{ Ġlist Dialog Item . on Select ( player , Ġ" Test ") Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( caught Throwable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isNull () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }