package Ġio . hs ar . wh 4 0 k . comb ats im ulator . logic . action options Ċ Ċ import Ġio . hs ar . wh 4 0 k . comb ats im ulator . model . Unit Instance Ċ import Ġio . hs ar . wh 4 0 k . comb ats im ulator . model . World Ċ import Ġio . hs ar . wh 4 0 k . comb ats im ulator . model . unit . Base Stat Ċ import Ġorg . hamcrest . Core Matchers Ċ import Ġorg . hamcrest . Matcher Assert Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . mockito . Mockito Ċ Ċ internal Ġclass ĠRange d Attack Test Ġ{ ĊĊĠĠĠ Ġval Ġrange d Attack Ġ= ĠVan illa Range d Attack () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` roll To Hit Ġpasses Ġcorrect Ġvalues Ġto Ġroll Base Stat `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock User Ġ= ĠMockito . mock ( Unit Instance :: class . java ) ĊĠĠĠĠĠĠĠ ĠMockito .` when `( mock User . get A im Bonus ()). thenReturn ( 1 0 ) ĊĊĠĠĠĠĠĠĠ Ġrange d Attack . roll To Hit ( mock User ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġcheck Ġcorrect Ġstat Ġis Ġused Ġand Ġbonus Ġis Ġaim Ġbonus Ġplus Ġin herent Ġbonus Ġfrom Ġattack ĊĠĠĠĠĠĠĠ ĠMockito . verify ( mock User , ĠMockito . times ( 1 )). roll Base Stat ( Base Stat . BAL LIST IC _ SK ILL , Ġ 2 5 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwe Ġwill Ġonly Ġhit Ġthe Ġbelow Ġassertion Ġif Ġthe Ġverify Ġcall Ġcame Ġback Ġcorrect ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat ( true , ĠCore Matchers . equalTo ( true )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Hit Chance Ġpasses Ġthe Ġcorrect Ġvalues Ġto Ġget Base Stat Success Chance `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock User Ġ= ĠMockito . mock ( Unit Instance :: class . java ) ĊĠĠĠĠĠĠĠ ĠMockito .` when `( mock User . get A im Bonus ()). thenReturn ( 1 0 ) ĊĊĠĠĠĠĠĠĠ Ġrange d Attack . get Hit Chance ( mock User ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġcheck Ġcorrect Ġstat Ġis Ġused Ġand Ġbonus Ġis Ġaim Ġbonus Ġplus Ġin herent Ġbonus Ġfrom Ġattack ĊĠĠĠĠĠĠĠ ĠMockito . verify ( mock User , ĠMockito . times ( 1 )). getBase Stat Success Chance ( Base Stat . BAL LIST IC _ SK ILL , Ġ 2 5 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwe Ġwill Ġonly Ġhit Ġthe Ġbelow Ġassertion Ġif Ġthe Ġverify Ġcall Ġcame Ġback Ġcorrect ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat ( true , ĠCore Matchers . equalTo ( true )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠVan illa Range d Attack Ġ: ĠRange d Attack ( 3 0 ) Ġ{ ĊĠĠĠ Ġoverride Ġval Ġaction Cost Ġ= ĠAction Cost . FULL _ ACTION ĊĠĠĠ Ġoverride Ġval Ġhit Modifier Ġ= Ġ 1 5 ĊĠĠĠ Ġoverride Ġval Ġdamage Ġ= Ġ" 1 d 1 0 " ĊĠĠĠ Ġoverride Ġfun Ġis Legal ( world : ĠWorld , Ġuser : ĠUnit Instance , Ġtarget : ĠUnit Instance ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġexpected Value ( world : ĠWorld , Ġuser : ĠUnit Instance , Ġtarget : ĠUnit Instance ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 1 f ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġapply ( world : ĠWorld , Ġuser : ĠUnit Instance , Ġtarget : ĠUnit Instance ) Ġ{ ĊĊĠĠĠ Ġ} Ċ }