package Ġcom . github . ai . is f provider . test Ċ Ċ import Ġandroid . net . Uri Ċ import Ġcom . github . ai . is f provider . entity . File Model Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġjava . io . Buffered Writer Ċ import Ġjava . io . File Ċ import Ġjava . io . File OutputStream Ċ import Ġjava . io . OutputStream Writer Ċ Ċ internal Ġfun Ġcreate Mock ed File ( ĊĠĠĠ Ġpath : ĠString , ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġlength : ĠLong , ĊĠĠĠ Ġis Directory : ĠBoolean Ċ ): ĠFile Ġ{ ĊĠĠĠ Ġreturn Ġmock k < File >() ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġit . path Ġ}. returns ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġit . name Ġ}. returns ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġit . length () Ġ}. returns ( length ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġit . isDirectory Ġ}. returns ( isDirectory ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun Ġmock Uri ( ĊĠĠĠ Ġpath : ĠString ? Ċ ): ĠUri Ġ{ ĊĠĠĠ Ġreturn Ġmock k < Uri >() ĊĠĠĠĠĠĠĠ Ġ. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġit . path Ġ}. returns ( path ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠFile Model . to Uri ( ĊĠĠĠ Ġauthority : ĠString Ġ= ĠTest Data . AUTH ORITY Ċ ): ĠUri Ġ{ ĊĠĠĠ Ġreturn ĠUri . parse (" content :// $ authority $ path ") Ċ } Ċ Ċ internal Ġfun ĠFile Model . to File (): ĠFile Ġ{ ĊĠĠĠ Ġreturn ĠFile ( path ) Ċ } Ċ Ċ internal Ġfun ĠFile . create With Content ( content : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġparent File Ġ= Ġparent File Ġ?: Ġthrow ĠIllegalStateException () ĊĊĠĠĠ Ġif Ġ(! parent File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġparent File . mkdir s () ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠBuffered Writer ( OutputStream Writer ( File OutputStream ( this ))) ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflush () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġcreate Uri ( ĊĠĠĠ Ġscheme : ĠString Ġ= Ġ" content ", ĊĠĠĠ Ġauthority : ĠString Ġ= ĠTest Data . AUTH ORITY , ĊĠĠĠ Ġpath : ĠString , ĊĠĠĠ Ġauth Token : ĠString ? Ġ= Ġnull Ċ ): ĠUri Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( auth Token Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ ĠUri . parse ("$ scheme :// $ authority /$ auth Token $ path ") ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠUri . parse ("$ scheme :// $ authority $ path ") ĊĠĠĠ Ġ} Ċ }