package Ġme . qu ench jian . presentation . task detail Ċ Ċ import Ġme . qu ench jian . concurrent . Test Scheduler Ċ import Ġme . qu ench jian . data . Fake Task Repository Ċ import Ġme . qu ench jian . model . Task Ċ import Ġme . qu ench jian . presentation . task detail . model . Load Task UseCase Ċ import Ġme . qu ench jian . web service . Fake Api Ċ import Ġkotlin . test . After Test Ċ import Ġkotlin . test . Before Test Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNotNull Ċ import Ġkotlin . test . assertNull Ċ Ċ class ĠLoad Task UseCase Test Ġ{ ĊĊĠ Ġprivate Ġval Ġuse Case : ĠLoad Task UseCase Ġ= ĠLoad Task UseCase ( Test Scheduler (), ĠFake Api (), ĠFake Task Repository ()) ĊĊĠ Ġprivate Ġvar Ġtask : ĠTask ? Ġ= Ġnull ĊĠ Ġprivate Ġvar Ġthrowable : ĠThrowable ? Ġ= Ġnull ĊĊĠ Ġ@ Before Test ĊĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠ Ġuse Case . register Listener ( object Ġ: ĠLoad Task UseCase . Result Ġ{ ĊĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( task : ĠTask ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis @ Load Task UseCase Test . task Ġ= Ġtask ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun ĠonError ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrowable Ġ= Ġt ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĠ Ġ} ĊĊĠ Ġ@ After Test ĊĠ Ġfun Ġdestroy () Ġ{ ĊĠĠĠ Ġuse Case . dispose () ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest Success () Ġ{ ĊĠĠĠ Ġuse Case (" 1 ", Ġtrue ) ĊĠĠĠ ĠassertNotNull ( task ) ĊĠĠĠ ĠassertNull ( throwable ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest Fail () Ġ{ ĊĠĠĠ Ġuse Case (" 1 0 ", Ġfalse ) ĊĠĠĠ ĠassertNull ( task ) ĊĠĠĠ ĠassertNotNull ( throwable ) ĊĠĠĠ ĠassertEquals (" Task Ġnot Ġfound ", Ġthrowable !!. message ) ĊĠ Ġ} Ċ } Ċ