@Test public void interceptConsole() throws Exception { BufferedLogger log = new BufferedLogger(100); String res = ConsoleInterceptor.copyOut(()-> { log.interceptStdOut(); System.out.println("Hello, world"); System.out.println("iCodici rules"); System.out.println("last line"); // now we need that streams send their data throgh the pipes: while (log.getCopy().size() < 3) Thread.sleep(20); log.flush(); log.stopInterceptingStdOut(); log.close(); assertEquals("Hello, world,iCodici rules,last line", str(log.getCopy())); }); assertEquals("Hello, world\n" + "iCodici rules\n" + "last line", log.getCopy().stream() .map(x->x.message) .collect(Collectors.joining("\n"))); }
logger.interceptStdOut(); } else logger.printTo(System.out, false);