// Path: jdcallgraph/src/test/java/com/dkarv/jdcallgraph/helper/Console.java
// public class Console {
//   private final PrintStream err;
//   private final PrintStream out;
//   private final ByteArrayOutputStream outContent;
//   private final ByteArrayOutputStream errContent;
// 
//   public Console() {
//     err = System.err;
//     out = System.out;
//     outContent = new ByteArrayOutputStream();
//     errContent = new ByteArrayOutputStream();
//   }
// 
//   public void startCapture() throws UnsupportedEncodingException {
//     System.setOut(new PrintStream(outContent, true, "UTF-8"));
//     System.setErr(new PrintStream(errContent, true, "UTF-8"));
//   }
// 
//   public void clear() {
//     outContent.reset();
//     errContent.reset();
//   }
// 
//   public void reset() {
//     System.setOut(out);
//     System.setErr(err);
//   }
// 
//   public String getOut() throws UnsupportedEncodingException {
//     return outContent.toString("UTF-8");
//   }
// 
//   public String getErr() throws UnsupportedEncodingException {
//     return errContent.toString("UTF-8");
//   }
// }
// 
// Path: jdcallgraph/src/test/java/com/dkarv/jdcallgraph/util/config/ConfigUtils.java
// public class ConfigUtils {
// 
//   public static void replace(boolean addDefaults, String... options) throws IOException {
//     if (addDefaults) {
//       new ConfigReader(
//           ConfigUtils.class.getResourceAsStream("/com/dkarv/jdcallgraph/defaults.ini"),
//           write(options)).read();
//     } else {
//       new ConfigReader(
//           write(options)).read();
//     }
//   }
// 
//   public static InputStream write(String... options) throws IOException {
//     StringBuilder str = new StringBuilder();
//     for (String opt : options) {
//       str.append(opt);
//       str.append('\n');
//     }
//     return TestUtils.writeInputStream(str.toString());
//   }
// 
//   public static void inject(Config config) {
//     Config.instance = config;
//   }
// }


import com.dkarv.jdcallgraph.helper.Console;
import com.dkarv.jdcallgraph.util.config.ConfigUtils;
import org.hamcrest.text.MatchesPattern;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.mockito.Mockito;
import java.io.IOException;
import java.util.regex.Pattern;
import static org.junit.Assert.*;
package com.dkarv.jdcallgraph.util.log;




public class LoggerTest {
  @Rule
  public TemporaryFolder tmp = new TemporaryFolder();

  private Logger init(int logLevel, boolean stdOut) {
    try {
// Path: jdcallgraph/src/test/java/com/dkarv/jdcallgraph/helper/Console.java
// public class Console {
//   private final PrintStream err;
//   private final PrintStream out;
//   private final ByteArrayOutputStream outContent;
//   private final ByteArrayOutputStream errContent;
// 
//   public Console() {
//     err = System.err;
//     out = System.out;
//     outContent = new ByteArrayOutputStream();
//     errContent = new ByteArrayOutputStream();
//   }
// 
//   public void startCapture() throws UnsupportedEncodingException {
//     System.setOut(new PrintStream(outContent, true, "UTF-8"));
//     System.setErr(new PrintStream(errContent, true, "UTF-8"));
//   }
// 
//   public void clear() {
//     outContent.reset();
//     errContent.reset();
//   }
// 
//   public void reset() {
//     System.setOut(out);
//     System.setErr(err);
//   }
// 
//   public String getOut() throws UnsupportedEncodingException {
//     return outContent.toString("UTF-8");
//   }
// 
//   public String getErr() throws UnsupportedEncodingException {
//     return errContent.toString("UTF-8");
//   }
// }
// 
// Path: jdcallgraph/src/test/java/com/dkarv/jdcallgraph/util/config/ConfigUtils.java
// public class ConfigUtils {
// 
//   public static void replace(boolean addDefaults, String... options) throws IOException {
//     if (addDefaults) {
//       new ConfigReader(
//           ConfigUtils.class.getResourceAsStream("/com/dkarv/jdcallgraph/defaults.ini"),
//           write(options)).read();
//     } else {
//       new ConfigReader(
//           write(options)).read();
//     }
//   }
// 
//   public static InputStream write(String... options) throws IOException {
//     StringBuilder str = new StringBuilder();
//     for (String opt : options) {
//       str.append(opt);
//       str.append('\n');
//     }
//     return TestUtils.writeInputStream(str.toString());
//   }
// 
//   public static void inject(Config config) {
//     Config.instance = config;
//   }
// }


// Path: jdcallgraph/src/test/java/com/dkarv/jdcallgraph/util/log/LoggerTest.java
import com.dkarv.jdcallgraph.helper.Console;
import com.dkarv.jdcallgraph.util.config.ConfigUtils;
import org.hamcrest.text.MatchesPattern;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.mockito.Mockito;
import java.io.IOException;
import java.util.regex.Pattern;
import static org.junit.Assert.*;

package com.dkarv.jdcallgraph.util.log;




public class LoggerTest {
  @Rule
  public TemporaryFolder tmp = new TemporaryFolder();

  private Logger init(int logLevel, boolean stdOut) {
    try {
      ConfigUtils.replace( true, "logLevel: " + logLevel, "logConsole: " + stdOut);