package Ġcom . che ise _ proj . domain . use case . user Ċ Ċ import Ġcom . che ise _ proj . domain . repository . UserRepository Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . JUnit 4 Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . Mockito . times Ċ import Ġorg . mockito . Mockito Annotations Ċ import Ġutils . Test User Generator Ċ Ċ @ RunWith ( JUnit 4 :: class ) Ċ class ĠGet UserProfile Task Test Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠgetUser Profile Task : ĠGet UserProfile Task ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġlateinit Ġvar Ġuser Repository : ĠUser Repository ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito Annotations . init Mocks ( this ) ĊĠĠĠĠĠĠĠ ĠgetUser Profile Task Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGet UserProfile Task ( user Repository , ĠS chedulers . tr amp oline (), ĠS chedulers . tr amp oline ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Get ĠUser ĠProfile ĠSuccess `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠTest User Generator . get Profile () ĊĠĠĠĠĠĠĠ ĠMockito .` when `( user Repository . getUser Profile ()). thenReturn ( Observable . just ( actual )) ĊĠĠĠĠĠĠĠ ĠgetUser Profile Task . build UseCase () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Sub scribed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Value Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Complete () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( user Repository , Ġtimes ( 1 )). getUser Profile () ĊĠĠĠ Ġ} Ċ }