package Ġcom . lik et hes al ad . android . buddy . configuration Ċ Ċ import Ġcom . android . build . api . transform . Qualified Content Ċ import Ġcom . google . common . truth . Truth Ċ import Ġcom . lik et hes al ad . android . buddy . configuration . libraries . scope . Libraries Scope Ċ import Ġcom . lik et hes al ad . android . buddy . configuration . libraries . scope . Libraries Scope Mapper Ċ import Ġcom . lik et hes al ad . android . buddy . extension . Android Bu ddy Extension Ċ import Ġcom . lik et hes al ad . android . buddy . extension . libraries . Libraries Policy Extension Ċ import Ġcom . lik et hes al ad . android . buddy . extension . libraries . Transformation Scope Extension Ċ import Ġcom . lik et hes al ad . android . buddy . extension . libraries . scope . Libraries Scope Extension Ċ import Ġcom . lik et hes al ad . android . buddy . providers . Android Bu ddy Extension Provider Ċ import Ġcom . lik et hes al ad . android . test utils . Base Mock able Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġorg . gradle . api . provider . Property Ċ import Ġorg . gradle . api . provider . SetProperty Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ @ Suppress (" Un stable Api Usage ") Ċ class ĠAndroid Bu ddy Plugin Configuration Test Ġ: ĠBase Mock able () Ġ{ ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġandroid Bu ddy Extension Provider : ĠAndroid Bu ddy Extension Provider ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġlibraries Scope Mapper : ĠLibraries Scope Mapper ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġextension : ĠAndroid Bu ddy Extension ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġlibraries Policy Extension : ĠLibraries Policy Extension ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġlibraries Scope Extension : ĠLibraries Scope Extension ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġtransformation Scope Extension : ĠTransformation Scope Extension ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġandroid Bu ddy Plugin Configuration : ĠAndroid Bu ddy Plugin Configuration ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Bu ddy Extension Provider . get Android Bu ddy Extension () ĊĠĠĠĠĠĠĠ Ġ}. returns ( extension ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextension . libraries Policy ĊĠĠĠĠĠĠĠ Ġ}. returns ( libraries Policy Extension ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlibraries Policy Extension . scope ĊĠĠĠĠĠĠĠ Ġ}. returns ( libraries Scope Extension ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextension . transformation Scope ĊĠĠĠĠĠĠĠ Ġ}. returns ( transformation Scope Extension ) ĊĊĠĠĠĠĠĠĠ Ġandroid Bu ddy Plugin Configuration Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid Bu ddy Plugin Configuration ( android Bu ddy Extension Provider , Ġlibraries Scope Mapper ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Get Ġlibraries Ġscope `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠLibraries Scope . Use All ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlibraries Scope Mapper . libraries Scope Extension To Libraries Scope ( libraries Scope Extension ) ĊĠĠĠĠĠĠĠ Ġ}. returns ( expected ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġandroid Bu ddy Plugin Configuration . get Libraries Scope () ĊĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( result ). isEqualTo ( expected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Get ĠPROJECT Ġtransformation Ġscope `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscope Extension Ġ= Ġ" PROJECT " ĊĠĠĠĠĠĠĠ Ġval Ġscope Property Ġ= Ġcreate Property Of ( scope Extension ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransformation Scope Extension . scope ĊĠĠĠĠĠĠĠ Ġ}. returns ( scope Property ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġandroid Bu ddy Plugin Configuration . get Transformation Scope () ĊĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( result ). contains Exactly ( Qualified Content . Scope . PROJECT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Get ĠALL Ġtransformation Ġscope `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscope Extension Ġ= Ġ" ALL " ĊĠĠĠĠĠĠĠ Ġval Ġscope Property Ġ= Ġcreate Property Of ( scope Extension ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransformation Scope Extension . scope ĊĠĠĠĠĠĠĠ Ġ}. returns ( scope Property ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġandroid Bu ddy Plugin Configuration . get Transformation Scope () ĊĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( result ). contains Exactly ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠQual ified Content . Scope . PROJECT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠQual ified Content . Scope . EXTERNAL _ LIBRARIES , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠQual ified Content . Scope . SUB _ PROJECT S ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Get Ġexcluded Ġprefixes `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproperty Ġ= Ġcreate SetProperty Of (" one / prefix ", Ġ" second / prefix / another ") ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġtransformation Scope Extension . exclude Prefixes Ġ}. returns ( property ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġandroid Bu ddy Plugin Configuration . get Exclude Prefixes () ĊĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( result ). contains Exactly (" one / prefix ", Ġ" second / prefix / another ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġ< re ified ĠT Ġ: ĠAny > Ġcreate Property Of ( value : ĠT ): ĠProperty < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Ġ= Ġmock k < Property < T >>() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmock . get () Ġ}. returns ( value ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmock . getOrElse ( any ()) Ġ}. returns ( value ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġmock ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġ< re ified ĠT Ġ: ĠAny > Ġcreate SetProperty Of ( var arg Ġvalues : ĠT ): ĠSet Property < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Ġ= Ġmock k < SetProperty < T >>() ĊĠĠĠĠĠĠĠ Ġval Ġset Values Ġ= Ġvalues . toSet () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmock . get () Ġ}. returns ( set Values ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmock . getOrElse ( any ()) Ġ}. returns ( set Values ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġmock ĊĠĠĠ Ġ} Ċ }