package Ġcom . github . br ym ck . sandbox . helpers Ċ Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . Print Stream Ċ Ċ internal Ġdata Ġclass ĠCapt ured Output ( ĊĠĠĠ Ġval Ġstdout : ĠString , ĊĠĠĠ Ġval Ġstderr : ĠString Ċ ) Ċ Ċ internal Ġfun Ġcapture Output ( block : Ġ() Ġ-> ĠUnit ): ĠCapt ured Output Ġ{ ĊĠĠĠ Ġval Ġoriginal Stdout Ġ= ĠSystem . out ĊĠĠĠ Ġval Ġoriginal Stderr Ġ= ĠSystem . err ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcaptured Stdout Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠ Ġval Ġcaptured Stderr Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠ ĠSystem . set Out ( Print Stream ( captured Stdout )) ĊĠĠĠĠĠĠĠ ĠSystem . set Err ( Print Stream ( captured Stderr )) ĊĠĠĠĠĠĠĠ Ġblock () ĊĠĠĠĠĠĠĠ Ġreturn ĠCapt ured Output ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstdout Ġ= Ġcaptured Stdout . toString (). trim (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstderr Ġ= Ġcaptured Stderr . toString (). trim () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠ ĠSystem . set Out ( original Stdout ) ĊĠĠĠĠĠĠĠ ĠSystem . set Err ( original Stderr ) ĊĠĠĠ Ġ} Ċ } Ċ