package Ġkotlin mud . test . model Ċ Ċ class ĠProb ability Test ( private Ġvar Ġiterations : ĠInt Ġ= Ġ 1 0 0 ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġoutcome 1 : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġoutcome 2 : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġval Ġtotal Iterations Ġ= Ġiterations ĊĊĠĠĠ Ġfun Ġis Iter ating (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġiterations Ġ> Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest ( fn 1 : Ġ() Ġ-> ĠBoolean , Ġfn 2 : Ġ() Ġ-> ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhile Ġ( is Iter ating ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdecrement Iteration ( fn 1 (), Ġfn 2 ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdecrement Iteration ( outcome 1 Result : ĠBoolean , Ġoutcome 2 Result : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Iter ating ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġiterations -- ĊĠĠĠĠĠĠĠ Ġif Ġ( outcome 1 Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutcome 1 ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( outcome 2 Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutcome 2 ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Outcome 1 (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġoutcome 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Outcome 2 (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġoutcome 2 ĊĠĠĠ Ġ} Ċ } Ċ