Skip to content
Snippets Groups Projects
Select Git revision
  • 8ebe914b0c64b533f0286d90a9f359ca92adf667
  • main default protected
2 results

StandardOutputSandbox.java

Blame
  • Forked from BOUKENZE Basma / Students-TP1
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    StandardOutputSandbox.java 706 B
    import java.io.ByteArrayOutputStream;
    import java.io.OutputStream;
    import java.io.PrintStream;
    
    
    public class StandardOutputSandbox implements Runnable {
      static String NEW_LINE = System.getProperty("line.separator");
      private final Runnable runnable;
      private OutputStream outputStream;
    
      StandardOutputSandbox(Runnable runnable) {
        this.runnable = runnable;
      }
    
      public void run(){
        outputStream = new ByteArrayOutputStream();
        PrintStream printStream = new PrintStream(outputStream);
        System.setOut(printStream);
        runnable.run();
        PrintStream originalOut = System.out;
        System.setOut(originalOut);
      }
    
      String getProducedOutput() {
        return outputStream.toString();
      }
    }