package Ġcom . lik et hes al ad . placeholder . data . storage . libraries Ċ Ċ import Ġcom . google . common . truth . Truth Ċ import Ġcom . lik et hes al ad . placeholder . modules . common . helpers . android . Android Config Helper Ċ import Ġcom . lik et hes al ad . placeholder . modules . raw Strings . data . libraries . Libraries Files Provider Ċ import Ġcom . lik et hes al ad . placeholder . utils . Configuration Provider Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġorg . gradle . api . file . File Collection Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . rules . Temporary Folder Ċ import Ġjava . io . File Ċ Ċ class ĠLibraries Files Provider Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġandroid Config Helper : ĠAndroid Config Helper ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġconfiguration Provider : ĠConfiguration Provider ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġtemporary Folder Ġ= ĠTemporary Folder () ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġandroid Config Helper Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġconfiguration Provider Ġ= Ġmock k () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Xml Files For Folder _ can Use Dependencies _ true () Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġconfiguration Provider . use Dependencies Res () Ġ}. returns ( true ) ĊĠĠĠĠĠĠĠ Ġval Ġlibraries Files Provider Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLibraries Files Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Config Helper , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration Provider ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġverify Xml Files For Folder (" values ", Ġlibraries Files Provider , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġverify Xml Files For Folder (" values - es ", Ġlibraries Files Provider , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġverify Xml Files For Folder (" values - it ", Ġlibraries Files Provider , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Xml Files For Folder _ can Use Dependencies _ false () Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġconfiguration Provider . use Dependencies Res () Ġ}. returns ( false ) ĊĠĠĠĠĠĠĠ Ġval Ġlibraries Files Provider Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLibraries Files Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Config Helper , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration Provider ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġverify Xml Files For Folder (" values ", Ġlibraries Files Provider , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġverify Xml Files For Folder (" values - es ", Ġlibraries Files Provider , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġverify Xml Files For Folder (" values - it ", Ġlibraries Files Provider , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġverify Xml Files For Folder ( ĊĠĠĠĠĠĠĠ Ġfolder Name : ĠString , ĊĠĠĠĠĠĠĠ Ġlibraries Files Provider : ĠLibraries Files Provider , ĊĠĠĠĠĠĠĠ Ġempty Response : ĠBoolean ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlib Name 1 Ġ= Ġ" library 1 " ĊĠĠĠĠĠĠĠ Ġval Ġlib Name 2 Ġ= Ġ" library 2 " ĊĠĠĠĠĠĠĠ Ġval Ġlib Name 3 Ġ= Ġ" library 3 " ĊĠĠĠĠĠĠĠ Ġval Ġlib Name 4 Ġ= Ġ" library 4 " ĊĠĠĠĠĠĠĠ Ġval Ġlibrary Res Dir 1 Ġ= Ġcreate Res Dir With Existing Xml Value ( lib Name 1 , Ġfolder Name ) ĊĠĠĠĠĠĠĠ Ġval Ġlibrary Res Dir 2 Ġ= Ġcreate Res Dir With Existing Xml Value ( lib Name 2 , Ġfolder Name ) ĊĠĠĠĠĠĠĠ Ġval Ġlibrary Res Dir 3 Ġ= Ġcreate Empty Res Dir ( lib Name 3 ) ĊĠĠĠĠĠĠĠ Ġval Ġlibrary Res Dir 4 Ġ= Ġcreate Empty Library Dir ( lib Name 4 ) ĊĠĠĠĠĠĠĠ Ġval Ġfile Collection Ġ= Ġmock k < File Collection >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġandroid Config Helper . libraries Res Dirs Ġ}. returns ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile Collection ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġfile Collection . files Ġ}. returns ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlibrary Res Dir 1 , Ġlibrary Res Dir 2 , Ġlibrary Res Dir 3 , Ġlibrary Res Dir 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfiles Ġ= Ġlibraries Files Provider . get Xml Files For Folder ( folder Name ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( empty Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( files ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( files ). contains Exactly ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( temporary Folder . root , Ġ"$ lib Name 1 / res /$ folder Name /$ folder Name . xml "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( temporary Folder . root , Ġ"$ lib Name 2 / res /$ folder Name /$ folder Name . xml ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Res Dir With Existing Xml Value ( library Dir : ĠString , Ġvalues Folder Name : ĠString ): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġres Dir Ġ= Ġcreate Empty Res Dir ( library Dir ) ĊĠĠĠĠĠĠĠ Ġtemporary Folder . new Folder ( library Dir , Ġ" res ", Ġvalues Folder Name ) ĊĠĠĠĠĠĠĠ Ġtemporary Folder . new File ("$ library Dir / res /$ values Folder Name /$ values Folder Name . xml ") ĊĠĠĠĠĠĠĠ Ġreturn Ġres Dir ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Empty Res Dir ( library Dir : ĠString ): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Res Dir For ( library Dir ). take If Ġ{ Ġit . exists () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġtemporary Folder . new Folder ( library Dir , Ġ" res ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Res Dir For ( library Dir : ĠString ): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFile ( create Empty Library Dir ( library Dir ), Ġ" res ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Empty Library Dir ( library Dir Name : ĠString ): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFile ( temporary Folder . root , Ġlibrary Dir Name ). take If Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . exists () ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġtemporary Folder . new Folder ( library Dir Name ) ĊĠĠĠ Ġ} Ċ }