import java.io.ByteArrayOutputStream ;
import java.io.PrintStream ;
import org.testng.annotations.Configuration ;
public abstract class AbstractOutputTest {
  private final PrintStream saveSystemOut = System.out ;
  private final ByteArrayOutputStream buffer = new ByteArrayOutputStream ( ) ;
  private final PrintStream outputFromScript = new PrintStream ( buffer ) ;
  @Configuration ( beforeTestMethod = true )
  public void resetBufferAndSetOutput ( ) { buffer.reset ( ) ; System.setOut ( outputFromScript ) ; }
  @Configuration ( afterTestMethod = true )
  public void resetOutput ( ) { System.setOut ( saveSystemOut ) ; }
  public String getOutput ( ) { return buffer.toString ( ).trim ( ) ; }
}
 

