package Ġcom . just ai . ja ic f . test . context Ċ Ċ import Ġcom . just ai . ja ic f . api . Bot Request Ċ import Ġcom . just ai . ja ic f . context . Action Context Ċ import Ġcom . just ai . ja ic f . context . Activator Context Ċ import Ġcom . just ai . ja ic f . context . Bot Context Ċ import Ġcom . just ai . ja ic f . context . Default Action Context Ċ import Ġcom . just ai . ja ic f . reactions . Re actions Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Action Context ] Ġsubclass Ġused Ġduring Ġthe Ġunit Ġtest Ġexecution . Ċ Ġ* ĠEvery Ġaction Ġblock Ġof Ġthe Ġscenario Ġwill Ġbe Ġexecuted Ġin Ġthis Ġcontext Ġduring Ġthe Ġunit Ġtest . Ċ Ġ* ĠThis Ġclass Ġcontains Ġsome Ġfunctions Ġthat Ġdetermines Ġa Ġsmart Ġrandom Ġnumbers Ġgeneration Ġand Ġothers Ġhelpers . Ċ Ġ*/ Ċ data Ġclass ĠTest Action Context < A : ĠActiv ator Context , ĠB : ĠBot Request , ĠR : ĠRe actions >( ĊĠĠĠ Ġoverride Ġval Ġcontext : ĠBot Context , ĊĠĠĠ Ġoverride Ġval Ġactiv ator : ĠA , ĊĠĠĠ Ġoverride Ġval Ġrequest : ĠB , ĊĠĠĠ Ġoverride Ġval Ġre actions : ĠR , ĊĠĠĠ Ġprivate Ġval Ġrequest Context : ĠTest RequestContext Ċ ) Ġ: ĠAction Context < A , ĠB , ĠR >( context , Ġactiv ator , Ġrequest , Ġre actions ) Ġ{ ĊĊĠĠĠ Ġinternal Ġfun Ġnext Random Int () Ġ= Ġrequest Context . random Numbers . poll () Ġ?: Ġ 0 ĊĠĠĠ Ġoverride Ġfun Ġrandom ( min : ĠInt , Ġmax : ĠInt ) Ġ= Ġmin ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFinds Ġa Ġnamed Ġvariable Ġpassed Ġfrom Ġtest . ĊĠĠĠĠ Ġ* Ġ@ param Ġname Ġa Ġname Ġof Ġthe Ġvariable Ġto Ġfind ĊĠĠĠĠ Ġ* Ġ@ return Ġvariable Ġvalue Ġor Ġnull Ġif Ġnothing Ġwas Ġfound ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Var ( name : ĠString ) Ġ= Ġrequest Context . variables [ name ] Ċ } Ċ Ċ /** Ċ Ġ* ĠIndicates Ġif Ġscenario Ġis Ġrunning Ġin Ġtest Ġmode Ċ Ġ*/ Ċ fun ĠDefault Action Context . is Test Mode () Ġ= Ġthis Ġis ĠTest Action Context Ċ Ċ /** Ċ Ġ* ĠRuns Ġthis Ġblock Ġof Ġcode Ġonly Ġif Ġthe Ġscenario Ġis Ġrunning Ġin Ġtest Ġmode Ċ Ġ* Ġ@ param Ġblock Ġa Ġblock Ġof Ġcode Ġto Ġbe Ġran Ġin Ġtest Ġmode Ġonly Ċ Ġ*/ Ċ fun Ġ< A : ĠActiv ator Context , ĠB : ĠBot Request , ĠR : ĠRe actions , ĠT > ĠAction Context < A , ĠB , ĠR >. run In Test ( ĊĠĠĠ Ġblock : ĠTest Action Context < A , ĠB , ĠR >. () Ġ-> ĠT Ċ ) Ġ= Ġ( this Ġas ? ĠTest Action Context )?. block () Ċ