package Ġcash . and rew . hod lr Ċ Ċ import Ġorg . junit . jupiter . api . After Each Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . io . TempDir Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . File Ċ import Ġjava . io . Print Stream Ċ import Ġjava . nio . file . Path Ċ Ċ abstract Ġclass ĠOutputStream Test Ġ{ ĊĊĠ Ġ@ TempDir Ġlateinit Ġvar Ġtemp Dir : ĠPath ĊĊĠ Ġprivate Ġval Ġout Content Ġ= ĠByteArrayOutputStream () ĊĠ Ġprivate Ġval Ġoriginal Out Ġ= ĠSystem . out ĊĠ Ġprivate Ġval Ġerror Content Ġ= ĠByteArrayOutputStream () ĊĠ Ġprivate Ġval Ġoriginal Error Ġ= ĠSystem . err ĊĊĠ Ġval Ġoutput Text : ĠString Ġget () Ġ= Ġout Content . toString (). trim () ĊĠ Ġval Ġerror Text : ĠString Ġget () Ġ= Ġerror Content . toString (). trim () ĊĊĠ Ġ@ BeforeEach ĊĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠ ĠSystem . set Out ( Print Stream ( out Content )) ĊĠĠĠ ĠSystem . set Err ( Print Stream ( error Content )) ĊĠ Ġ} ĊĊĠ Ġ@ After Each ĊĠ Ġfun Ġrestore Streams () Ġ{ ĊĠĠĠ ĠSystem . set Out ( original Out ) ĊĠĠĠ ĠSystem . set Err ( original Error ) ĊĠ Ġ} ĊĊĠ Ġval Ġconfig : ĠFile Ġget () Ġ= Ġfile (" hod lr . conf ") ĊĊĠ Ġprivate Ġfun Ġfile ( name : ĠString ): ĠFile Ġ= Ġtemp Dir . resolve ( name ). to File () Ċ } Ċ