// Path: src/main/java/exceptions/BamIndexNotFoundException.java
// public class BamIndexNotFoundException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// }
// 
// Path: src/main/java/exceptions/InvalidColourException.java
// public class InvalidColourException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// }
// 
// Path: src/main/java/exceptions/InvalidCommandLineException.java
// public class InvalidCommandLineException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// }
// 
// Path: src/main/java/exceptions/InvalidConfigException.java
// public class InvalidConfigException extends Exception {
// 	private static final long serialVersionUID = 1L;
// }
// 
// Path: src/main/java/exceptions/InvalidGenomicCoordsException.java
// public class InvalidGenomicCoordsException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// }
// 
// Path: src/main/java/exceptions/InvalidRecordException.java
// public class InvalidRecordException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// }
// 
// Path: src/main/java/faidx/UnindexableFastaFileException.java
// public class UnindexableFastaFileException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 	
// }


import static org.junit.Assert.*;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import com.itextpdf.text.DocumentException;
import exceptions.BamIndexNotFoundException;
import exceptions.InvalidColourException;
import exceptions.InvalidCommandLineException;
import exceptions.InvalidConfigException;
import exceptions.InvalidGenomicCoordsException;
import exceptions.InvalidRecordException;
import faidx.UnindexableFastaFileException;
		String[] args= new String[] {"-ni", "-nf", "--exec", "setConfig nucs", "test_data/ds051.short.bam"};
		List<String> out = this.runMain(args);
		assertTrue(out.get(0).contains(">>>>>>>>>>>>>>>>>>>"));
	}

	@Test
	public void doNotSetInvalidBooleanConfig() throws ClassNotFoundException, IOException, InvalidGenomicCoordsException, InvalidCommandLineException, InvalidRecordException, BamIndexNotFoundException, SQLException, DocumentException, UnindexableFastaFileException, InvalidColourException, InvalidConfigException {
		String[] args= new String[] {"-ni", "-nf", "--exec", "setConfig nucs 999", "test_data/ds051.short.bam"};
		List<String> out = this.runMain(args);
		System.err.println(out);
		assertTrue(out.get(1).contains("Unable to set"));
	}
	
	@Test
	public void doNotSetInvalidColourConfig() throws ClassNotFoundException, IOException, InvalidGenomicCoordsException, InvalidCommandLineException, InvalidRecordException, BamIndexNotFoundException, SQLException, DocumentException, UnindexableFastaFileException, InvalidColourException, InvalidConfigException {
		String[] args= new String[] {"-ni", "-nf", "--exec", "setConfig seq_a 999", "test_data/ds051.short.bam"};
		List<String> out = this.runMain(args);
		System.err.println(out);
		assertTrue(out.get(1).contains("Unable to set"));
	}
	
	@Test
	public void doNotSetInvalidIntegerConfig() throws ClassNotFoundException, IOException, InvalidGenomicCoordsException, InvalidCommandLineException, InvalidRecordException, BamIndexNotFoundException, SQLException, DocumentException, UnindexableFastaFileException, InvalidColourException, InvalidConfigException {
		String[] args= new String[] {"-ni", "-nf", "--exec", "setConfig shade_baseq foo", "test_data/ds051.short.bam"};
		List<String> out = this.runMain(args);
		System.err.println(out);
		assertTrue(out.get(1).contains("Unable to set"));
	}
	
	@Test
// Path: src/main/java/exceptions/BamIndexNotFoundException.java
// public class BamIndexNotFoundException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// }
// 
// Path: src/main/java/exceptions/InvalidColourException.java
// public class InvalidColourException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// }
// 
// Path: src/main/java/exceptions/InvalidCommandLineException.java
// public class InvalidCommandLineException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// }
// 
// Path: src/main/java/exceptions/InvalidConfigException.java
// public class InvalidConfigException extends Exception {
// 	private static final long serialVersionUID = 1L;
// }
// 
// Path: src/main/java/exceptions/InvalidGenomicCoordsException.java
// public class InvalidGenomicCoordsException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// }
// 
// Path: src/main/java/exceptions/InvalidRecordException.java
// public class InvalidRecordException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// }
// 
// Path: src/main/java/faidx/UnindexableFastaFileException.java
// public class UnindexableFastaFileException extends Exception {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 	
// }


// Path: src/test/java/samTextViewer/MainTest.java
import static org.junit.Assert.*;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import com.itextpdf.text.DocumentException;
import exceptions.BamIndexNotFoundException;
import exceptions.InvalidColourException;
import exceptions.InvalidCommandLineException;
import exceptions.InvalidConfigException;
import exceptions.InvalidGenomicCoordsException;
import exceptions.InvalidRecordException;
import faidx.UnindexableFastaFileException;

		String[] args= new String[] {"-ni", "-nf", "--exec", "setConfig nucs", "test_data/ds051.short.bam"};
		List<String> out = this.runMain(args);
		assertTrue(out.get(0).contains(">>>>>>>>>>>>>>>>>>>"));
	}

	@Test
	public void doNotSetInvalidBooleanConfig() throws ClassNotFoundException, IOException, InvalidGenomicCoordsException, InvalidCommandLineException, InvalidRecordException, BamIndexNotFoundException, SQLException, DocumentException, UnindexableFastaFileException, InvalidColourException, InvalidConfigException {
		String[] args= new String[] {"-ni", "-nf", "--exec", "setConfig nucs 999", "test_data/ds051.short.bam"};
		List<String> out = this.runMain(args);
		System.err.println(out);
		assertTrue(out.get(1).contains("Unable to set"));
	}
	
	@Test
	public void doNotSetInvalidColourConfig() throws ClassNotFoundException, IOException, InvalidGenomicCoordsException, InvalidCommandLineException, InvalidRecordException, BamIndexNotFoundException, SQLException, DocumentException, UnindexableFastaFileException, InvalidColourException, InvalidConfigException {
		String[] args= new String[] {"-ni", "-nf", "--exec", "setConfig seq_a 999", "test_data/ds051.short.bam"};
		List<String> out = this.runMain(args);
		System.err.println(out);
		assertTrue(out.get(1).contains("Unable to set"));
	}
	
	@Test
	public void doNotSetInvalidIntegerConfig() throws ClassNotFoundException, IOException, InvalidGenomicCoordsException, InvalidCommandLineException, InvalidRecordException, BamIndexNotFoundException, SQLException, DocumentException, UnindexableFastaFileException, InvalidColourException, InvalidConfigException {
		String[] args= new String[] {"-ni", "-nf", "--exec", "setConfig shade_baseq foo", "test_data/ds051.short.bam"};
		List<String> out = this.runMain(args);
		System.err.println(out);
		assertTrue(out.get(1).contains("Unable to set"));
	}
	
	@Test
	public void canIgnoreComments() throws ClassNotFoundException, IOException, InvalidGenomicCoordsException, InvalidCommandLineException, InvalidRecordException, BamIndexNotFoundException, SQLException, DocumentException, UnindexableFastaFileException, InvalidColourException, InvalidConfigException {