package Ġcom . github . j corn az . mi op . test Ċ Ċ import Ġkotlin . test .* Ċ Ċ actual Ġabstract Ġclass ĠAsync Test Ġactual Ġconstructor () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġstep Count Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġis Finished Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġexception : ĠThrowable ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Before Test ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġstep Count Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġis Finished Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġexception Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Test ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( step Count Ġ> Ġ 0 ) ĠassertTrue ( is Finished , Ġ" finish () Ġwas Ġnot Ġcalled ") ĊĠĠĠĠĠĠĠ Ġexception ?. let Ġ{ Ġthrow Ġit Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġactual Ġfun Ġexpect ( step : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠassertFalse ( is Finished , Ġ" expect ($ step ) Ġhas Ġbeen Ġcalled Ġafter Ġfinish ($ step Count ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( ++ step Count , Ġstep , Ġ" unexpected Ġstep Ġcount Ġ( expected Ġ$ step , Ġbut Ġ$ step Count Ġwas Ġfound )") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġactual Ġfun Ġfinish ( step : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( is Finished , Ġ" finish Ġhas Ġbeen Ġcalled Ġtwice ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( ++ step Count , Ġstep , Ġ" unexpected Ġstep Ġcount Ġ( expected Ġ$ step , Ġbut Ġ$ step Count Ġwas Ġfound )") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġactual Ġfun Ġunreachable ( create Message : Ġ() Ġ-> ĠString ): ĠNothing Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠAssertionError ( create Message ()) ĊĠĠĠĠĠĠĠ Ġexception Ġ= Ġerror ĊĠĠĠĠĠĠĠ Ġthrow Ġerror ĊĠĠĠ Ġ} Ċ }