package Ġcom . d icon ium . android . code style Ċ Ċ import Ġorg . junit . Assert . assertArrayEquals Ċ import Ġorg . junit . Assert . assertFalse Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Test Ċ import Ġjava . io . File Ċ import Ġjava . io . File OutputStream Ċ import Ġjava . nio . file . Files Ċ Ċ private Ġconst Ġval ĠTEST _ FOLDER Ġ= Ġ" Helpers Test " Ċ Ċ class ĠHelpers Test Ġ{ ĊĊĠ Ġ@ Test Ġfun Ġstring _ validator _ pass _ for _ valid _ strings () Ġ{ ĊĠĠĠ ĠHelpers . string Validator (" lo rem Ġipsum ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ( expected Ġ= ĠException :: class ) Ġfun Ġstring _ validator _ throw _ for _ empty _ string () Ġ{ ĊĠĠĠ ĠHelpers . string Validator ("") ĊĠ Ġ} ĊĊĠ Ġ@ Test ( expected Ġ= ĠException :: class ) Ġfun Ġstring _ validator _ throw _ for _ blank _ string () Ġ{ ĊĠĠĠ ĠHelpers . string Validator (" Ġ Ġ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ( expected Ġ= ĠException :: class ) Ġfun Ġfolder _ validator _ throw _ for _ not _ a _ folder () Ġ{ ĊĠĠĠ Ġval Ġtemp Ġ= ĠFiles . create TempFile (" foo ", Ġ" bar ") ĊĠĠĠĠĠĠĠ Ġ. to File () ĊĠĠĠ Ġtemp . touch () ĊĠĠĠ ĠHelpers . folder Validator ( temp ) ĊĠĠĠ Ġtemp . delete () ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġfile _ mo ver _ moves _ file () Ġ{ ĊĠĠĠ Ġ// Ġprepare Ġfile Ġsystem Ġfor Ġtest ĊĠĠĠ Ġval Ġtest Home Ġ= ĠFiles . create Temp Directory ( TEST _ FOLDER ) ĊĠĠĠĠĠĠĠ Ġ. to File () ĊĠĠĠ Ġtest Home . delete On Exit () ĊĊĠĠĠ Ġval Ġsource Ġ= ĠFile ( test Home , Ġ" source ") ĊĠĠĠ Ġval Ġcontent Ġ= Ġ" lo rem Ġipsum " ĊĠĠĠ Ġsource . touch ( content ) ĊĊĠĠĠ Ġval Ġtarget Ġ= ĠFile ( test Home , Ġ" target ") ĊĊĠĠĠ Ġassert ( source . exists ()) ĊĠĠĠ Ġassert (! target . exists ()) ĊĠĠĠ ĠHelpers . file M over ( source , Ġtarget ) ĊĠĠĠ Ġassert ( target . exists ()) ĊĠĠĠ Ġassert (! source . exists ()) ĊĊĠĠĠ Ġassert ArrayEquals ( content . toByteArray (), Ġtarget . read Bytes ()) ĊĊĠĠĠ Ġsource . delete () ĊĠĠĠ Ġtarget . delete () ĊĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġfile _ co pi er _ copies _ file () Ġ{ ĊĠĠĠ Ġ// Ġprepare Ġfile Ġsystem Ġfor Ġtest ĊĠĠĠ Ġval Ġtest Home Ġ= ĠFiles . create Temp Directory ( TEST _ FOLDER ) ĊĠĠĠĠĠĠĠ Ġ. to File () ĊĠĠĠ Ġtest Home . delete On Exit () ĊĊĠĠĠ Ġval Ġsource Ġ= ĠFile ( test Home , Ġ" source ") ĊĠĠĠ Ġval Ġcontent Ġ= Ġ" lo rem Ġipsum " ĊĠĠĠ Ġsource . touch ( content ) ĊĊĠĠĠ Ġval Ġtarget Ġ= ĠFile ( test Home , Ġ" target ") ĊĊĠĠĠ Ġassert ( source . exists ()) ĊĠĠĠ Ġassert (! target . exists ()) ĊĠĠĠ ĠHelpers . file Cop ier ( source , Ġtarget ) ĊĠĠĠ Ġassert ( target . exists ()) ĊĠĠĠ Ġassert ( source . exists ()) ĊĊĠĠĠ Ġassert ArrayEquals ( content . toByteArray (), Ġsource . read Bytes ()) ĊĠĠĠ Ġassert ArrayEquals ( content . toByteArray (), Ġtarget . read Bytes ()) ĊĊĠĠĠ Ġsource . delete () ĊĠĠĠ Ġtarget . delete () ĊĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġcompare _ files _ returns _ true _ equal _ content _ files () Ġ{ ĊĠĠĠ Ġval Ġtest Home Ġ= ĠFiles . create Temp Directory ( TEST _ FOLDER ) ĊĠĠĠĠĠĠĠ Ġ. to File () ĊĠĠĠ Ġtest Home . delete On Exit () ĊĊĠĠĠ Ġval Ġcontent Ġ= Ġ" lo rem Ġipsum " ĊĠĠĠ Ġval Ġf 1 Ġ= ĠFile ( test Home , Ġ" f 1 ") ĊĠĠĠ Ġf 1 . touch ( content ) ĊĠĠĠ Ġval Ġf 2 Ġ= ĠFile ( test Home , Ġ" f 2 ") ĊĠĠĠ Ġf 2 . touch ( content ) ĊĊĠĠĠ ĠassertTrue ( Helpers . compare Files ( f 1 , Ġf 2 )) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġcompare _ files _ returns _ false _ different _ content _ files () Ġ{ ĊĠĠĠ Ġval Ġtest Home Ġ= ĠFiles . create Temp Directory ( TEST _ FOLDER ) ĊĠĠĠĠĠĠĠ Ġ. to File () ĊĠĠĠ Ġtest Home . delete On Exit () ĊĊĠĠĠ Ġval Ġf 1 Ġ= ĠFile ( test Home , Ġ" f 1 ") ĊĠĠĠ Ġf 1 . touch (" lo rem Ġipsum ") ĊĠĠĠ Ġval Ġf 2 Ġ= ĠFile ( test Home , Ġ" f 2 ") ĊĠĠĠ Ġf 2 . touch (" lo rem ip sum ") ĊĊĠĠĠ ĠassertFalse ( Helpers . compare Files ( f 1 , Ġf 2 )) ĊĠ Ġ} ĊĊĠ Ġ// Ġhelper ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġfun ĠFile . touch ( content : ĠString ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġval Ġstream Ġ= ĠFileOutputStream ( this ) ĊĠĠĠĠĠ Ġcontent ?. let Ġ{ Ġstream . write ( it . toByteArray ()) Ġ} ĊĠĠĠĠĠ Ġstream . close () ĊĠĠĠĠĠ Ġset LastModified ( System . currentTimeMillis ()) ĊĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }