package Ġcom . sem icolon . domain . use case . user Ċ Ċ import Ġcom . n ha ar man . mock it ok otlin 2 .* Ċ import Ġcom . sem icolon . domain . entity . users . Fetch Cal ories Level Entity Ċ import Ġcom . sem icolon . domain . repository . UserRepository Ċ import Ġkotlinx . coroutines . flow . flow Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ Ċ class ĠFetch Cal ories Level UseCase UnitTest Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġuser Repository Ġ= Ġmock < UserRepository >() ĊĊĠĠĠ Ġprivate Ġval Ġfetch Cal ories Level UseCase Ġ= ĠFetch Cal ories Level UseCase ( user Repository ) ĊĊĠĠĠ Ġprivate Ġval Ġfetch Cal ories Level Entity Ġ= Ġmock < Fetch Cal ories Level Entity >() ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fetch Cal ories Level UseCase () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( user Repository . fetch Cal ories Level ()). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflow Ġ{ Ġemit ( fetch Cal ories Level Entity ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfetch Cal ories Level UseCase . execute ( Unit ). collect Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( fetch Cal ories Level Entity , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( user Repository , Ġtimes ( 1 )). fetch Cal ories Level () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }