package Ġcom . q on version . android . sdk Ċ Ċ import Ġio . mock k .* Ċ import Ġorg . junit . Assert .* Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . util .* Ċ Ċ class ĠIncrement al Delay Calculator Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġmock Random izer Ġ= Ġmock k < Random >( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġrandom Ġ= Ġ 3 ĊĠĠĠ Ġprivate Ġval Ġmin Delay Ġ= Ġ 5 ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdelay Calculator : ĠIncrement al Delay Calculator ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġdelay Calculator Ġ= ĠIncrement al Delay Calculator ( mock Random izer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠCount Delay Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġincrement Ġdelay Ġwhen Ġcounter Ġ= Ġ 0 `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Random izer . nextInt ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġreturns Ġrandom ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdelay Calculator . count Delay ( min Delay , Ġ 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 9 , Ġresult ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġincrement Ġdelay Ġwhen Ġcounter Ġ= Ġ 1 `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Random izer . nextInt ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġreturns Ġrandom ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdelay Calculator . count Delay ( min Delay , Ġ 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 , Ġresult ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġincrement Ġdelay Ġwhen Ġcounter Ġ= Ġ 1 0 `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Random izer . nextInt ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġreturns Ġrandom ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdelay Calculator . count Delay ( min Delay , Ġ 1 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 , Ġresult ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }