package Ġcom . duc cn v . clean mov ied b . data . repository Ċ Ċ import Ġcom . duc cn v . clean mov ied b . data . UserRepository Impl Ċ import Ġcom . duc cn v . clean mov ied b . data . local . db . App Database Ċ import Ġcom . duc cn v . clean mov ied b . data . model . User Entity Mapper Ċ import Ġcom . duc cn v . clean mov ied b . data . remote . api . User Api Ċ import Ġio . reactivex . Comp letable Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . Mockito .` when ` Ċ import Ġorg . mockito . Mockito . mock Ċ Ċ class ĠUser Repository Impl Test Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġuser Repository Impl : ĠUser Repository Impl ĊĊĠĠĠ Ġprivate Ġval Ġuser Api Mock Ġ= Ġmock ( User Api :: class . java ) ĊĠĠĠ Ġprivate Ġval Ġapp Database Mock Ġ= Ġmock ( App Database :: class . java ) ĊĠĠĠ Ġprivate Ġval Ġuser Entity Mapper Ġ= ĠUser Entity Mapper () ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġuser Repository Impl Ġ= ĠUser Repository Impl ( user Api Mock , Ġapp Database Mock , Ġuser Entity Mapper ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsign Success () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġusername Ġ= Ġ" ho an bn 8 8 " ĊĠĠĠĠĠĠĠ Ġval Ġpass Ġ= Ġ" abc 1 2 3 " ĊĠĠĠĠĠĠĠ Ġ` when `( user Api Mock . signin ( username , Ġpass )). thenReturn ( Comp letable . error ( Throwable (" Invalid Ġpassword "))) ĊĠĠĠ Ġ} Ċ }