package Ġco il . memory Ċ Ċ import Ġco il . bit m app ool . Real Bitmap Pool Ċ import Ġco il . util . DEFAULT _ BITMAP _ SIZE Ċ import Ġco il . util . create Bitmap Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNull Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ class ĠMemory Cache Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcounter : ĠBitmap Reference Counter ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġbefore () Ġ{ ĊĠĠĠĠĠĠĠ Ġcounter Ġ= ĠBitmap Reference Counter ( Real Bitmap Pool ( 0 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġretrieve Ġcached Ġvalue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcache Ġ= ĠMemory Cache ( counter , Ġ( 2 Ġ* ĠDEFAULT _ BITMAP _ SIZE ). toInt ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= Ġcreate Bitmap () ĊĠĠĠĠĠĠĠ Ġcache . set (" 1 ", Ġbitmap , Ġfalse ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( bitmap , Ġcache [" 1 "] ?. bitmap ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` least Ġrecently Ġused Ġvalue Ġis Ġev ict ed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcache Ġ= ĠMemory Cache ( counter , Ġ( 2 Ġ* ĠDEFAULT _ BITMAP _ SIZE ). toInt ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġfirst Ġ= Ġcreate Bitmap () ĊĠĠĠĠĠĠĠ Ġcache . set (" 1 ", Ġfirst , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsecond Ġ= Ġcreate Bitmap () ĊĠĠĠĠĠĠĠ Ġcache . set (" 2 ", Ġsecond , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġthird Ġ= Ġcreate Bitmap () ĊĠĠĠĠĠĠĠ Ġcache . set (" 3 ", Ġthird , Ġfalse ) ĊĊĠĠĠĠĠĠĠ ĠassertNull ( cache [" 1 "]) ĊĠĠĠ Ġ} Ċ } Ċ