package Ġru . ch err yper ry . am iam i . domain . update Ċ Ċ import Ġio . reactivex . Maybe Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . Mockito Ċ import Ġru . ch err yper ry . am iam i . domain . model . Update Info Ċ import Ġru . ch err yper ry . am iam i . domain . model . Version Ċ import Ġru . ch err yper ry . am iam i . domain . repository . Update Repository Ċ Ċ class ĠCheck Update UseCase Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Has Update High er Than Current () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠMockito . mock ( Update Repository :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġupdate Ġ= ĠUpdate Info ( Version . fromString (" 1 . 1 "), Ġ"", Ġ"") ĊĠĠĠĠĠĠĠ ĠMockito .` when `( repository . latest Release ()). thenReturn ( Maybe . just ( update )) ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġ= ĠCheck Update UseCase ( repository , Ġ" 1 . 0 ") ĊĠĠĠĠĠĠĠ Ġuse Case . run ( Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Result ( update ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. await () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Has Update Lower Than Current () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠMockito . mock ( Update Repository :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġupdate Ġ= ĠUpdate Info ( Version . fromString (" 1 . 0 "), Ġ"", Ġ"") ĊĠĠĠĠĠĠĠ ĠMockito .` when `( repository . latest Release ()). thenReturn ( Maybe . just ( update )) ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġ= ĠCheck Update UseCase ( repository , Ġ" 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġuse Case . run ( Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert No Values () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. await () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest No Update () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠMockito . mock ( Update Repository :: class . java ) ĊĠĠĠĠĠĠĠ ĠMockito .` when `( repository . latest Release ()). thenReturn ( Maybe . empty ()) ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġ= ĠCheck Update UseCase ( repository , Ġ" 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġuse Case . run ( Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert No Values () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. await () ĊĠĠĠ Ġ} Ċ } Ċ