package Ġcom . a all am . under wave . internal . cache . disk Ċ Ċ import Ġandroid . graphics . Bitmap . Compress Format Ċ import Ġcom . a all am . under wave . extension . Main Coroutine Rule Ċ import Ġcom . a all am . under wave . extension . run Blocking Ċ import Ġcom . a all am . under wave . internal . extension . md 5 Ċ import Ġcom . a all am . under wave . internal . image . Bitmap Ċ import Ġcom . jak ew h art on . disk lr uc ache . Disk L ru Cache Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Rel ax ed Mock K Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . mock k Static Ċ import Ġio . mock k . un mock k All Ċ import Ġio . mock k . verify Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ Ċ @ Experimental Cor outines Api Ċ internal Ġactual Ġclass ĠDisk Memory Test Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġcoroutine Rule Ġ= ĠMain Coroutine Rule () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdisk Cache : ĠDisk Cache ĊĠĠĠ Ġ@ Rel ax ed Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdisk L ru Cache : ĠDisk L ru Cache ĊĠĠĠ Ġ@ Rel ax ed Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbitmap : ĠBitmap ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this ) ĊĠĠĠĠĠĠĠ Ġdisk Cache Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDisk Data Cache ( disk L ru Cache , ĠCompress Format . JPEG , Ġ 7 0 , Ġcoroutine Rule . test Dispatcher ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġactual Ġfun ĠtestGet () Ġ= Ġcoroutine Rule . run Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġ" url " ĊĠĠĠĠĠĠĠ Ġval Ġhash Ġ= Ġkey . md 5 () ĊĠĠĠĠĠĠĠ Ġdisk Cache . get ( key ) ĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġdisk L ru Cache [ hash ] Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġactual Ġfun Ġtest Put () Ġ= Ġcoroutine Rule . run Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġ" url " ĊĠĠĠĠĠĠĠ Ġval Ġhash Ġ= Ġkey . md 5 () ĊĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġmock k < Disk L ru Cache . Editor >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġdisk L ru Cache . edit ( hash ) Ġ} Ġreturns Ġeditor ĊĠĠĠĠĠĠĠ Ġdisk Cache . put ( key , Ġbitmap ) ĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġdisk L ru Cache . edit ( hash ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġactual Ġfun Ġtest Size () Ġ{ ĊĠĠĠĠĠĠĠ Ġdisk Cache . size () ĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġdisk L ru Cache . size () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġactual Ġfun Ġtest Clear () Ġ= Ġcoroutine Rule . run Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Size : ĠLong Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠ Ġval Ġmock Directory Ġ= Ġmock k < Directory >( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġdisk L ru Cache . maxSize Ġ} Ġreturns Ġmock Size ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġdisk L ru Cache . directory Ġ} Ġreturns Ġmock Directory ĊĠĠĠĠĠĠĠ Ġmock k Static ( Disk L ru Cache :: class ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠDisk L ru Cache . open ( mock Directory , Ġany (), Ġany (), Ġmock Size ) Ġ} Ġreturns Ġdisk L ru Cache ĊĠĠĠĠĠĠĠ Ġdisk Cache . clear () ĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġdisk L ru Cache . delete () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun Ġfinish () Ġ{ ĊĠĠĠĠĠĠĠ Ġun mock k All () ĊĠĠĠ Ġ} Ċ } Ċ