package Ġco il . fetch Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . net . Uri Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġco il . bit m app ool . Bitmap Pool Ċ import Ġco il . size . Pixel Size Ċ import Ġco il . util . create Options Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠAsset Uri Fetcher Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext Ġ= ĠApplication Provider . getApplicationContext () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfetch er : ĠAsset Uri Fetcher ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpool : ĠBitmap Pool ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġbefore () Ġ{ ĊĠĠĠĠĠĠĠ Ġfetch er Ġ= ĠAsset Uri Fetcher ( context ) ĊĠĠĠĠĠĠĠ Ġpool Ġ= ĠBitmap Pool ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbasic () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . parse (" file :/// android _ asset / normal . jpg ") ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( fetcher . handles ( uri )) ĊĠĠĠĠĠĠĠ Ġassert Uri F etches Correct ly ( uri ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnested Path () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . parse (" file :/// android _ asset / ex if / large _ metadata . jpg ") ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( fetcher . handles ( uri )) ĊĠĠĠĠĠĠĠ Ġassert Uri F etches Correct ly ( uri ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġassert Uri F etches Correct ly ( uri : ĠUri ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfetch er . fetch ( pool , Ġuri , ĠPixel Size ( 1 0 0 , Ġ 1 0 0 ), Ġcreate Options ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( result Ġis ĠSource Result ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" image / jpeg ", Ġresult . mime Type ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( result . source . ex hausted ()) ĊĠĠĠ Ġ} Ċ } Ċ