Added some output to all the classes, including build in runtime analysis

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@411 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
aaron 2009-04-14 19:14:53 +00:00
parent 647827b18c
commit 96248cdec4
7 changed files with 67 additions and 20 deletions

View File

@ -44,6 +44,7 @@ public abstract class BaseTest {
protected static String oneKGLocation = "/broad/1KG";
protected static boolean alreadySetup = false;
private static long startTime;
/** before the class starts up */
@BeforeClass
@ -55,7 +56,7 @@ public abstract class BaseTest {
// setup our log layout
PatternLayout layout = new PatternLayout();
layout.setConversionPattern("TEST %C{1} - %d{HH:mm:ss,SSS} - %m%n");
layout.setConversionPattern("TEST %C{1}.%M - %d{HH:mm:ss,SSS} - %m%n");
// now set the layout of all the loggers to our layout
Enumeration<Appender> en = logger.getAllAppenders();
@ -148,12 +149,14 @@ public abstract class BaseTest {
// pass through to the junit 3 calls, which are not annotated
@Before
final public void baseSetup() throws Exception {
startTime = System.currentTimeMillis();
}
@After
public void baseTearDown() throws Exception {
long endTime = System.currentTimeMillis();
logger.warn(String.format("runtime: %dms", (endTime - startTime)));
}
}

View File

@ -86,6 +86,8 @@ public class ShardStrategyFactoryTest extends BaseTest {
/** Tests that we got a string parameter in correctly */
@Test
public void testFullGenomeCycle() {
logger.warn("Executing testFullGenomeCycle");
GenomeLoc.setupRefContigOrdering(seq.getSequenceDictionary());
ShardStrategy strategy = ShardStrategyFactory.shatter(ShardStrategyFactory.SHATTER_STRATEGY.LINEAR, seq.getSequenceDictionary(), 100000);
@ -111,6 +113,8 @@ public class ShardStrategyFactoryTest extends BaseTest {
/** Tests that we got a string parameter in correctly */
@Test
public void testIntervalGenomeCycle() throws InterruptedException {
logger.warn("Executing testIntervalGenomeCycle");
SAMSequenceDictionary dic = seq.getSequenceDictionary();
SAMSequenceRecord s = dic.getSequence(1);
// Character stream writing

View File

@ -77,6 +77,7 @@ public class SAMBAMDataSourceTest extends BaseTest {
/** Test out that we can shard the file and iterate over every read */
//@Test
public void testLinearBreakIterateAll() {
logger.warn("Executing testLinearBreakIterateAll");
// the sharding strat.
ShardStrategy strat = ShardStrategyFactory.shatter(ShardStrategyFactory.SHATTER_STRATEGY.LINEAR, seq.getSequenceDictionary(), 100000);
int count = 0;
@ -114,12 +115,13 @@ public class SAMBAMDataSourceTest extends BaseTest {
/** Test out that we can shard the file and iterate over every read */
@Test
public void testMergingTwoBAMFiles() {
logger.warn("Executing testMergingTwoBAMFiles");
// the sharding strat.
ShardStrategy strat = ShardStrategyFactory.shatter(ShardStrategyFactory.SHATTER_STRATEGY.LINEAR, seq.getSequenceDictionary(), 100000);
// setup the test files
fl.add(seqLocation + "/dirseq/analysis/cancer_exome/sams/TCGA-06-0188.aligned.duplicates_marked.bam");
fl.add(seqLocation + "/dirseq/analysis/cancer_exome/twoflowcell_sams/TCGA-06-0188.aligned.duplicates_marked.bam");
ArrayList<Integer> readcountPerShard = new ArrayList<Integer>();
ArrayList<Integer> readcountPerShard2 = new ArrayList<Integer>();
@ -156,8 +158,8 @@ public class SAMBAMDataSourceTest extends BaseTest {
// setup the data and the counter before our second run
fl.clear();
fl.add(seqLocation + "/dirseq/analysis/cancer_exome/sams/TCGA-06-0188-01A-01W.aligned.duplicates_marked.bam");
fl.add(seqLocation + "/dirseq/analysis/cancer_exome/sams/TCGA-06-0188-10B-01W.aligned.duplicates_marked.bam");
fl.add(seqLocation + "/dirseq/analysis/cancer_exome/twoflowcell_sams/TCGA-06-0188-01A-01W.aligned.duplicates_marked.bam");
fl.add(seqLocation + "/dirseq/analysis/cancer_exome/twoflowcell_sams/TCGA-06-0188-10B-01W.aligned.duplicates_marked.bam");
count = 0;
// the sharding strat.
strat = ShardStrategyFactory.shatter(ShardStrategyFactory.SHATTER_STRATEGY.LINEAR, seq.getSequenceDictionary(), 100000);

View File

@ -4,25 +4,24 @@ package org.broadinstitute.sting.utils;
// the imports for unit testing.
import org.junit.*;
import static org.junit.Assert.*;
import org.apache.commons.cli.ParseException;
import org.broadinstitute.sting.utils.cmdLine.ArgumentParser;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import org.broadinstitute.sting.BaseTest;
import org.broadinstitute.sting.utils.fasta.FastaSequenceFile2;
import java.util.ArrayList;
import java.io.File;
/**
* Basic unit test for GenomeLoc
*/
public class GenomeLocTest {
public class GenomeLocTest extends BaseTest {
private static FastaSequenceFile2 seq;
@BeforeClass
public static void init() {
// sequence
seq = new FastaSequenceFile2(new File("/seq/references/Homo_sapiens_assembly18/v0/Homo_sapiens_assembly18.fasta"));
seq = new FastaSequenceFile2(new File(seqLocation + "/references/Homo_sapiens_assembly18/v0/Homo_sapiens_assembly18.fasta"));
}
/**
@ -30,6 +29,7 @@ public class GenomeLocTest {
*/
@Test
public void testIsBetween() {
logger.warn("Executing testIsBetween");
GenomeLoc.setupRefContigOrdering(seq);
GenomeLoc locMiddle = new GenomeLoc("chr1", 3, 3);
@ -43,6 +43,7 @@ public class GenomeLocTest {
}
@Test
public void testContigIndex() {
logger.warn("Executing testContigIndex");
GenomeLoc locOne = new GenomeLoc("chr1",1,1);
Assert.assertEquals(locOne.getContigIndex(), 1);
Assert.assertEquals(locOne.getContig(), "chr1");
@ -60,6 +61,7 @@ public class GenomeLocTest {
@Test
public void testCompareTo() {
logger.warn("Executing testCompareTo");
GenomeLoc twoOne = new GenomeLoc("chr2", 1);
GenomeLoc twoFive = new GenomeLoc("chr2", 5);
GenomeLoc twoOtherFive = new GenomeLoc("chr2", 5);

View File

@ -89,6 +89,7 @@ public class ArgumentParserTest extends BaseTest {
*/
@Test
public void testStringParameter() {
logger.warn("Executing testStringParameter");
// setup the parameter list
String[] params = {"-B", "-S", "String", "-I", "100", "-F", "100.0"};
@ -111,6 +112,7 @@ public class ArgumentParserTest extends BaseTest {
*/
@Test
public void testBooleanParameter() {
logger.warn("Executing testBooleanParameter");
// setup the parameter list
String[] params = {"-B", "-S", "String", "-I", "100", "-F", "100.0"};
@ -130,6 +132,8 @@ public class ArgumentParserTest extends BaseTest {
*/
@Test
public void testFloatParameter() {
logger.warn("Executing testFloatParameter");
// setup the parameter list
String[] params = {"-B", "-S", "String", "-I", "100", "-F", "100.0"};
@ -149,6 +153,8 @@ public class ArgumentParserTest extends BaseTest {
*/
@Test
public void testIntegerParameter() {
logger.warn("Executing testIntegerParameter");
// setup the parameter list
String[] params = {"-B", "-S", "String", "-I", "100", "-F", "100.0"};
@ -169,6 +175,8 @@ public class ArgumentParserTest extends BaseTest {
*/
@Test
public void testForUnpassedParameter() {
logger.warn("Executing testForUnpassedParameter");
// add a new required flag we won't send it
m_parser.addRequiredArg("testNotTHere", "N", "our should be provided test", "testFloat");
@ -190,6 +198,8 @@ public class ArgumentParserTest extends BaseTest {
*/
@Test
public void testForBadArgFieldName() {
logger.warn("Executing testForBadArgFieldName");
try {
// add a new required flag we won't send it
m_parser.addRequiredArg("testNotTHere", "N", "our should be provided test", "testDoesNotExist");

View File

@ -45,6 +45,8 @@ public class FastaSequenceFile2Test extends BaseTest {
@Test
public void testOpenFile() {
logger.warn("Executing testOpenFile");
long startTime = System.currentTimeMillis();
Assert.assertNotNull( sequenceFile );
long endTime = System.currentTimeMillis();
@ -54,6 +56,8 @@ public class FastaSequenceFile2Test extends BaseTest {
@Test
public void testFirstSequence() {
logger.warn("Executing testFirstSequence");
long startTime = System.currentTimeMillis();
ReferenceSequence sequence = sequenceFile.nextSequence();
Assert.assertEquals("First sequence contig is not correct", sequence.getName(), "chrM");
@ -67,6 +71,8 @@ public class FastaSequenceFile2Test extends BaseTest {
@Test
public void testNextSequence() {
logger.warn("Executing testNextSequence");
long startTime = System.currentTimeMillis();
ReferenceSequence sequence = null;
@ -92,6 +98,8 @@ public class FastaSequenceFile2Test extends BaseTest {
@Test
public void testSeekToSequence() {
logger.warn("Executing testSeekToSequence");
long startTime = System.currentTimeMillis();
boolean success = sequenceFile.seekToContig("chr8");
@ -111,6 +119,8 @@ public class FastaSequenceFile2Test extends BaseTest {
// TODO: Is NullPointerException *really* the right exception when a sequence is missing?
@Test(expected=NullPointerException.class)
public void testSeekToMissingSequence() {
logger.warn("Executing testSeekToMissingSequence");
long startTime = 0L, endTime = 0L;
try {
@ -125,6 +135,8 @@ public class FastaSequenceFile2Test extends BaseTest {
@Test
public void testSeekBackward() {
logger.warn("Executing testSeekBackward");
long startTime = System.currentTimeMillis();
boolean success = sequenceFile.seekToContig("chr9");
@ -146,6 +158,8 @@ public class FastaSequenceFile2Test extends BaseTest {
@Test
public void testInvalidSeekBackward() {
logger.warn("Executing testInvalidSeekBackward");
long startTime = System.currentTimeMillis();
boolean success = sequenceFile.seekToContig("chr9");
@ -161,6 +175,8 @@ public class FastaSequenceFile2Test extends BaseTest {
@Test
public void testSimultaneousAccess() {
logger.warn("Executing testSimultaneousAccess");
long startTime = System.currentTimeMillis();
// FastaSequenceFile2 other = (FastaSequenceFile2)sequenceFile.clone();

View File

@ -1,17 +1,15 @@
package org.broadinstitute.sting.utils.fasta;
import org.junit.BeforeClass;
import org.junit.Before;
import org.junit.Test;
import org.junit.Assert;
import org.apache.log4j.BasicConfigurator;
import edu.mit.broad.picard.PicardException;
import org.broadinstitute.sting.BaseTest;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import java.io.File;
import java.io.FileNotFoundException;
import edu.mit.broad.picard.PicardException;
/**
* Created by IntelliJ IDEA.
* User: hanna
@ -35,6 +33,8 @@ public class FastaSequenceIndexTest extends BaseTest {
@Test
public void testInitialContig() {
logger.warn("Executing testInitialContig");
Assert.assertTrue("Contig chrM is not present", sequenceIndex.hasIndexEntry("chrM"));
FastaSequenceIndexEntry entry = sequenceIndex.getIndexEntry("chrM");
Assert.assertEquals("Contig chrM name is incorrect",entry.getContig(),"chrM");
@ -46,6 +46,8 @@ public class FastaSequenceIndexTest extends BaseTest {
@Test
public void testMiddleContig() {
logger.warn("Executing testMiddleContig");
Assert.assertTrue("Contig chr8 is not present", sequenceIndex.hasIndexEntry("chr8"));
FastaSequenceIndexEntry entry = sequenceIndex.getIndexEntry("chr8");
Assert.assertEquals("Contig chr8 name is incorrect",entry.getContig(),"chr8");
@ -57,6 +59,8 @@ public class FastaSequenceIndexTest extends BaseTest {
@Test
public void testLastContig() {
logger.warn("Executing testLastContig");
Assert.assertTrue("Contig chrX_random is not present", sequenceIndex.hasIndexEntry("chrX_random"));
FastaSequenceIndexEntry entry = sequenceIndex.getIndexEntry("chrX_random");
Assert.assertEquals("Contig chrX_random name is incorrect",entry.getContig(),"chrX_random");
@ -68,6 +72,8 @@ public class FastaSequenceIndexTest extends BaseTest {
@Test
public void testAllContigsPresent() {
logger.warn("Executing testAllContigsPresent");
Assert.assertTrue("Contig chrM is not present", sequenceIndex.hasIndexEntry("chrM"));
Assert.assertTrue("Contig chr1 is not present", sequenceIndex.hasIndexEntry("chr1"));
Assert.assertTrue("Contig chr2 is not present", sequenceIndex.hasIndexEntry("chr2"));
@ -117,11 +123,15 @@ public class FastaSequenceIndexTest extends BaseTest {
@Test
public void testHasInvalidEntry() {
logger.warn("Executing testHasInvalidEntry");
Assert.assertFalse("Found an invalid entry", sequenceIndex.hasIndexEntry("invalid"));
}
@Test(expected= PicardException.class)
public void testGetInvalidEntry() {
logger.warn("Executing testGetInvalidEntry");
sequenceIndex.getIndexEntry("invalid");
}