package Ġcom . example . weather ens Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Build Ċ import Ġcom . example . weather ens . data . Weather Repository Ċ import Ġcom . example . weather ens . data . local . Weather Entity Ċ import Ġdagger . h ilt . android . testing . H ilt Android Rule Ċ import Ġdagger . h ilt . android . testing . H ilt Android Test Ċ import Ġdagger . h ilt . android . testing . H ilt Test Application Ċ import Ġjunit . framework . TestCase . assertNotNull Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . annotation . Config Ċ import Ġjavax . inject . Inject ĊĊ Ċ @ H ilt Android Test Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ @ Config ( application Ġ= ĠH ilt Test Application :: class , Ġsdk Ġ= Ġ[ Build . VERSION _ CODES . O _ MR 1 ]) Ċ class ĠExample Test Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġvar Ġh ilt Rule Ġ= ĠH ilt Android Rule ( this ) ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġweather Repository : ĠWeather Repository ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġh ilt Rule . inject () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Return Single Entity () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy Scope Ġ= ĠGlobal Scope ĊĠĠĠĠĠĠĠ Ġvar Ġall Weather : ĠList < Weather Entity >? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweather Repository . flush Weather ( on Success Ġ= Ġ{}, ĠonError Ġ= Ġ{}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweather Repository . add Weather ( 5 3 . 8 9 F , Ġ 2 7 . 5 6 F , ĠonSuccess Ġ= Ġ{}, ĠonError Ġ= Ġ{}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Weather Ġ= Ġweather Repository . getAll Weather ( on Success Ġ= Ġ{}, ĠonError Ġ= Ġ{}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( all Weather !!. size Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }