package Ġcom . lik et hes al ad . tools . resource . collector . android . data . res dir Ċ Ċ import Ġcom . google . common . truth . Truth Ċ import Ġcom . lik et hes al ad . tools . android . plugin . data . Android Extension Ċ import Ġcom . lik et hes al ad . tools . resource . api . android . environment . Variant Ċ import Ġcom . lik et hes al ad . tools . testing . Base Mock able Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġjava . io . File Ċ Ċ class ĠRes Dir Finder Test Ġ: ĠBase Mock able () Ġ{ ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġandroid Extension Helper : ĠAndroid Extension ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġres Dir Finder : ĠRes Dir Finder ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġres Dir Finder Ġ= ĠRes Dir Finder ( android Extension Helper ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Get Ġres Ġdirs Ġfrom Ġvariant `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvariant Ġ= ĠVariant . Default ĊĠĠĠĠĠĠĠ Ġval Ġdirs Ġ= Ġset Of ( create Existing File Mock (), Ġcreate Existing File Mock (), Ġcreate Existing File Mock ()) ĊĠĠĠĠĠĠĠ Ġprepare Extension Helper With Dirs ( variant , Ġdirs ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġres Dir Finder . find Res Dirs ( variant ) ĊĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( result ). contains Exactly Elements In ( dirs To Res Dir ( variant , Ġdirs )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Get Ġonly Ġexisting Ġres Ġdirs Ġfrom Ġvariant `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvariant Ġ= ĠVariant . Default ĊĠĠĠĠĠĠĠ Ġval Ġexisting Dirs Ġ= Ġset Of ( create Existing File Mock (), Ġcreate Existing File Mock ()) ĊĠĠĠĠĠĠĠ Ġval Ġnon Existing Dirs Ġ= Ġset Of ( create Non Existing File Mock (), Ġcreate Non Existing File Mock ()) ĊĠĠĠĠĠĠĠ Ġval Ġdirs Ġ= Ġexisting Dirs Ġ+ Ġnon Existing Dirs ĊĠĠĠĠĠĠĠ Ġprepare Extension Helper With Dirs ( variant , Ġdirs ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġres Dir Finder . find Res Dirs ( variant ) ĊĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( result ). contains Exactly Elements In ( dirs To Res Dir ( variant , Ġexisting Dirs )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdir sTo Res Dir ( variant : ĠVariant , Ġdirs : ĠSet < File >): ĠList < Res Dir > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdirs . map Ġ{ ĠRes Dir ( variant , Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare Extension Helper With Dirs ( variant : ĠVariant , Ġdirs : ĠSet < File >) Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Extension Helper . get Variant Src Dirs ( variant . name ) ĊĠĠĠĠĠĠĠ Ġ}. returns ( dirs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Existing File Mock (): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġmock k < File >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġfile . exists () Ġ}. returns ( true ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfile ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Non Existing File Mock (): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġmock k < File >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġfile . exists () Ġ}. returns ( false ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfile ĊĠĠĠ Ġ} Ċ }