diff --git a/.travis.yml b/.travis.yml index 9c046e353..270855ea7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ cache: - $HOME/.m2 jdk: - oraclejdk8 -script: ./gradlew testSRA jacocoTestReport; +script: ./gradlew test jacocoTestReport; after_success: - bash <(curl -s https://codecov.io/bash) - echo "TRAVIS_BRANCH='$TRAVIS_BRANCH'"; diff --git a/build.gradle b/build.gradle index ddd12a34d..9760a79fa 100644 --- a/build.gradle +++ b/build.gradle @@ -5,12 +5,14 @@ buildscript { } plugins { - id "java" + id 'java' + id 'scala' id 'maven' id 'signing' id 'jacoco' id 'com.palantir.git-version' version '0.5.1' id 'com.github.johnrengelman.shadow' version '1.2.3' + id 'com.github.maiflai.scalatest' version '0.15' } repositories { @@ -18,7 +20,6 @@ repositories { } jacocoTestReport { - dependsOn test group = "Reporting" description = "Generate Jacoco coverage reports after running tests." additionalSourceDirs = files(sourceSets.main.allJava.srcDirs) @@ -29,10 +30,6 @@ jacocoTestReport { } } -jacoco { - toolVersion = "0.7.5.201505241946" -} - dependencies { compile "org.apache.commons:commons-jexl:2.1.1" compile "commons-logging:commons-logging:1.1.1" @@ -41,6 +38,9 @@ dependencies { compile "org.tukaani:xz:1.5" compile "gov.nih.nlm.ncbi:ngs-java:1.2.4" + testCompile "org.scala-lang:scala-library:2.12.1" + testCompile "org.scalatest:scalatest_2.12:3.0.1" + testRuntime 'org.pegdown:pegdown:1.4.2' // Necessary for generating HTML reports with ScalaTest testCompile "org.testng:testng:6.9.9" testCompile "com.google.jimfs:jimfs:1.1" } @@ -67,70 +67,46 @@ jar { import org.gradle.internal.os.OperatingSystem; -tasks.withType(Test) { - outputs.upToDateWhen { false } // tests will always rerun - useTestNG() - - // set heap size for the test JVM(s) - minHeapSize = "1G" - maxHeapSize = "2G" +tasks.withType(Test) { task -> + task.outputs.upToDateWhen { false } // tests will always rerun - jvmArgs '-Djava.awt.headless=true' //this prevents awt from displaying a java icon while the tests are running + // Always run serially because there are some very badly behaved tests in HTSJDK that + // will cause errors and even deadlocks if run multi-threaded + task.maxParallelForks = 1 - if (System.env.CI == "true") { //if running under a CI output less into the logs - int count = 0 + // set heap size for the test JVM(s) + task.minHeapSize = "1G" + task.maxHeapSize = "2G" - beforeTest { descriptor -> - count++ - if( count % 100 == 0) { - logger.lifecycle("Finished "+ Integer.toString(count++) + " tests") - } - } - } else { - // show standard out and standard error of the test JVM(s) on the console - testLogging.showStandardStreams = true - beforeTest { descriptor -> - logger.lifecycle("Running Test: " + descriptor) - } + task.jvmArgs '-Djava.awt.headless=true' //this prevents awt from displaying a java icon while the tests are running +} - // listen to standard out and standard error of the test JVM(s) - onOutput { descriptor, event -> - logger.lifecycle("Test: " + descriptor + " produced standard out/err: " + event.message ) - } - } +test { + description = "Runs the unit tests other than the SRA tests" testLogging { - testLogging { - events "skipped", "failed" - exceptionFormat = "full" - } - afterSuite { desc, result -> - if (!desc.parent) { // will match the outermost suite - println "Results: ${result.resultType} (${result.testCount} tests, ${result.successfulTestCount} successes, ${result.failedTestCount} failures, ${result.skippedTestCount} skipped)" - } - } + events "failed", "skipped" } -} -test { - description = "Runs the unit tests other than the SRA tests" + if (System.env.CI == "true") { + jvmArgs += '-Dsamjdk.sra_libraries_download=true' + } - useTestNG { - if( OperatingSystem.current().isUnix() ){ - excludeGroups "slow", "broken", "sra" - } else { - excludeGroups "slow", "broken", "unix", "sra" - } + tags { + exclude "slow" + exclude "broken" + if (System.env.CI == "false") exclude "sra" + if (!OperatingSystem.current().isUnix()) exclude "unix" } } task testSRA(type: Test) { - jvmArgs '-Dsamjdk.sra_libraries_download=true' + description = "Run the SRA tests" + jvmArgs += '-Dsamjdk.sra_libraries_download=true' - description "Run the SRA tests" - useTestNG { - configFailurePolicy 'continue' - includeGroups "sra" + tags { + exclude "slow" + exclude "broken" } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7aff310b7..f08cd01bf 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Nov 29 15:10:15 EST 2016 +#Fri Jan 20 17:10:11 EST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-all.zip diff --git a/src/test/java/htsjdk/HtsjdkTest.java b/src/test/java/htsjdk/HtsjdkTest.java new file mode 100644 index 000000000..4da626b7e --- /dev/null +++ b/src/test/java/htsjdk/HtsjdkTest.java @@ -0,0 +1,10 @@ +package htsjdk; + +import org.scalatest.testng.TestNGSuite; + +/** + * Base class for all Java tests in HTSJDK. + */ +public class HtsjdkTest extends TestNGSuite { + +} diff --git a/src/test/java/htsjdk/cram/io/ExternalCompressionTest.java b/src/test/java/htsjdk/cram/io/ExternalCompressionTest.java index 09f6e4905..60a65197d 100644 --- a/src/test/java/htsjdk/cram/io/ExternalCompressionTest.java +++ b/src/test/java/htsjdk/cram/io/ExternalCompressionTest.java @@ -1,16 +1,15 @@ -package htsjdk.samtools.cram.io; +package htsjdk.cram.io; -import org.apache.commons.compress.utils.IOUtils; +import htsjdk.HtsjdkTest; +import htsjdk.samtools.cram.io.ExternalCompression; import org.testng.Assert; import org.testng.annotations.Test; import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.nio.file.Files; -public class ExternalCompressionTest { +public class ExternalCompressionTest extends HtsjdkTest { public static final File BZIP2_FILE = new File("src/test/resources/htsjdk/samtools/cram/io/bzip2-test.bz2"); public static final byte [] TEST_BYTES = "This is a simple string to test BZip2".getBytes(); diff --git a/src/test/java/htsjdk/samtools/AbstractBAMFileIndexTest.java b/src/test/java/htsjdk/samtools/AbstractBAMFileIndexTest.java index 74c2dd7f2..cf451b86a 100644 --- a/src/test/java/htsjdk/samtools/AbstractBAMFileIndexTest.java +++ b/src/test/java/htsjdk/samtools/AbstractBAMFileIndexTest.java @@ -1,11 +1,12 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.seekablestream.SeekableStream; import org.testng.annotations.Test; import java.io.IOException; -public class AbstractBAMFileIndexTest { +public class AbstractBAMFileIndexTest extends HtsjdkTest { /** * @see https://github.com/samtools/htsjdk/issues/73 @@ -59,4 +60,4 @@ public int read() throws IOException { buffer.readInteger(); buffer.readBytes(new byte[10000]); } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/samtools/BAMCigarOverflowTest.java b/src/test/java/htsjdk/samtools/BAMCigarOverflowTest.java index dd630f937..8f91c6448 100644 --- a/src/test/java/htsjdk/samtools/BAMCigarOverflowTest.java +++ b/src/test/java/htsjdk/samtools/BAMCigarOverflowTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloserUtil; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; @@ -10,7 +11,7 @@ * Test the fix of a bug reported by s-andrews in which the use of an arithmetic rather than a logical right shift in BinaryCigarCodec.binaryCigarToCigarElement() * causes an overflow in the CIGAR when reading a BAM file for a read that spans a very large intron. */ -public class BAMCigarOverflowTest { +public class BAMCigarOverflowTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools"); @Test diff --git a/src/test/java/htsjdk/samtools/BAMFileIndexTest.java b/src/test/java/htsjdk/samtools/BAMFileIndexTest.java index 33c3709c0..0271ade37 100755 --- a/src/test/java/htsjdk/samtools/BAMFileIndexTest.java +++ b/src/test/java/htsjdk/samtools/BAMFileIndexTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloseableIterator; import htsjdk.samtools.util.CloserUtil; import htsjdk.samtools.util.StopWatch; @@ -46,7 +47,7 @@ /** * Test BAM file indexing. */ -public class BAMFileIndexTest { +public class BAMFileIndexTest extends HtsjdkTest { private final File BAM_FILE = new File("src/test/resources/htsjdk/samtools/BAMFileIndexTest/index_test.bam"); private final boolean mVerbose = false; @@ -78,8 +79,7 @@ public void testSpecificQueries() } @Test(groups = {"slow"}) - public void testRandomQueries() - throws Exception { + public void testRandomQueries() throws Exception { runRandomTest(BAM_FILE, 1000, new Random()); } diff --git a/src/test/java/htsjdk/samtools/BAMFileWriterTest.java b/src/test/java/htsjdk/samtools/BAMFileWriterTest.java index a8944d0de..b228d76d8 100644 --- a/src/test/java/htsjdk/samtools/BAMFileWriterTest.java +++ b/src/test/java/htsjdk/samtools/BAMFileWriterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloseableIterator; import htsjdk.samtools.util.CloserUtil; import org.testng.Assert; @@ -35,7 +36,7 @@ * Test that BAM writing doesn't blow up. For presorted writing, the resulting BAM file is read and contents are * compared with the original SAM file. */ -public class BAMFileWriterTest { +public class BAMFileWriterTest extends HtsjdkTest { private SAMRecordSetBuilder getRecordSetBuilder(final boolean sortForMe, final SAMFileHeader.SortOrder sortOrder) { final SAMRecordSetBuilder ret = new SAMRecordSetBuilder(sortForMe, sortOrder); diff --git a/src/test/java/htsjdk/samtools/BAMIndexWriterTest.java b/src/test/java/htsjdk/samtools/BAMIndexWriterTest.java index 09f92360e..db9ccb957 100644 --- a/src/test/java/htsjdk/samtools/BAMIndexWriterTest.java +++ b/src/test/java/htsjdk/samtools/BAMIndexWriterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloserUtil; import htsjdk.samtools.util.IOUtil; import org.testng.annotations.DataProvider; @@ -38,7 +39,7 @@ /** * Test BAM file index creation */ -public class BAMIndexWriterTest { +public class BAMIndexWriterTest extends HtsjdkTest { // Two input files for basic test private final String BAM_FILE_LOCATION = "src/test/resources/htsjdk/samtools/BAMFileIndexTest/index_test.bam"; private final String BAI_FILE_LOCATION = "src/test/resources/htsjdk/samtools/BAMFileIndexTest/index_test.bam.bai"; diff --git a/src/test/java/htsjdk/samtools/BAMIteratorTest.java b/src/test/java/htsjdk/samtools/BAMIteratorTest.java index 5fa9e7dc4..6fa67cd9f 100644 --- a/src/test/java/htsjdk/samtools/BAMIteratorTest.java +++ b/src/test/java/htsjdk/samtools/BAMIteratorTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloseableIterator; import htsjdk.samtools.util.CloserUtil; import org.testng.Assert; @@ -34,7 +35,7 @@ /** * @author alecw@broadinstitute.org */ -public class BAMIteratorTest { +public class BAMIteratorTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools"); @Test(dataProvider = "dataProvider") diff --git a/src/test/java/htsjdk/samtools/BAMQueryMultipleIntervalsIteratorFilterTest.java b/src/test/java/htsjdk/samtools/BAMQueryMultipleIntervalsIteratorFilterTest.java index 7c0bb1fc2..d25e7ba65 100644 --- a/src/test/java/htsjdk/samtools/BAMQueryMultipleIntervalsIteratorFilterTest.java +++ b/src/test/java/htsjdk/samtools/BAMQueryMultipleIntervalsIteratorFilterTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -7,7 +8,7 @@ import java.util.Arrays; import java.util.Random; -public class BAMQueryMultipleIntervalsIteratorFilterTest { +public class BAMQueryMultipleIntervalsIteratorFilterTest extends HtsjdkTest { private final byte[] BASES = {'A', 'C', 'G', 'T'}; private final Random random = new Random(); diff --git a/src/test/java/htsjdk/samtools/BAMRemoteFileTest.java b/src/test/java/htsjdk/samtools/BAMRemoteFileTest.java index 4b686cf04..dccfddcac 100644 --- a/src/test/java/htsjdk/samtools/BAMRemoteFileTest.java +++ b/src/test/java/htsjdk/samtools/BAMRemoteFileTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloserUtil; import htsjdk.samtools.util.TestUtil; import org.testng.annotations.Test; @@ -40,7 +41,7 @@ /** * Test BAM file indexing. */ -public class BAMRemoteFileTest { +public class BAMRemoteFileTest extends HtsjdkTest { private final File BAM_INDEX_FILE = new File("src/test/resources/htsjdk/samtools/BAMFileIndexTest/index_test.bam.bai"); private final File BAM_FILE = new File("src/test/resources/htsjdk/samtools/BAMFileIndexTest/index_test.bam"); private final String BAM_URL_STRING = TestUtil.BASE_URL_FOR_HTTP_TESTS + "index_test.bam"; diff --git a/src/test/java/htsjdk/samtools/BinTest.java b/src/test/java/htsjdk/samtools/BinTest.java index 271a41101..6009ed37c 100644 --- a/src/test/java/htsjdk/samtools/BinTest.java +++ b/src/test/java/htsjdk/samtools/BinTest.java @@ -24,12 +24,13 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; import java.util.Collections; -public class BinTest { +public class BinTest extends HtsjdkTest { @Test public void testEmptyBin() { // Construct a new empty bin and ensure that the bin list is empty, not null. diff --git a/src/test/java/htsjdk/samtools/CRAMBAIIndexerTest.java b/src/test/java/htsjdk/samtools/CRAMBAIIndexerTest.java index 6f3b95459..ce32e7a8b 100644 --- a/src/test/java/htsjdk/samtools/CRAMBAIIndexerTest.java +++ b/src/test/java/htsjdk/samtools/CRAMBAIIndexerTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.build.ContainerFactory; import htsjdk.samtools.cram.structure.Container; import htsjdk.samtools.cram.structure.CramCompressionRecord; @@ -17,7 +18,7 @@ /** * Created by vadim on 12/01/2016. */ -public class CRAMBAIIndexerTest { +public class CRAMBAIIndexerTest extends HtsjdkTest { private static CramCompressionRecord createRecord(int recordIndex, int seqId, int start) { byte[] bases = "AAAAA".getBytes(); diff --git a/src/test/java/htsjdk/samtools/CRAMCRAIIndexerTest.java b/src/test/java/htsjdk/samtools/CRAMCRAIIndexerTest.java index 604e78670..c5a9634d4 100644 --- a/src/test/java/htsjdk/samtools/CRAMCRAIIndexerTest.java +++ b/src/test/java/htsjdk/samtools/CRAMCRAIIndexerTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.CRAIEntry; import htsjdk.samtools.cram.build.CramContainerIterator; import htsjdk.samtools.cram.ref.ReferenceSource; @@ -17,7 +18,7 @@ * Companion to CRAMBAIIndexerTest, for testing CRAI indices created on cram * streams; */ -public class CRAMCRAIIndexerTest { +public class CRAMCRAIIndexerTest extends HtsjdkTest { @Test public void testCRAIIndexerFromContainer() throws IOException { @@ -180,4 +181,4 @@ private long getIteratorCount(Iterator it) { return count; } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/samtools/CRAMComplianceTest.java b/src/test/java/htsjdk/samtools/CRAMComplianceTest.java index 635fa6791..57167279d 100644 --- a/src/test/java/htsjdk/samtools/CRAMComplianceTest.java +++ b/src/test/java/htsjdk/samtools/CRAMComplianceTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.build.CramIO; import htsjdk.samtools.cram.common.CramVersions; import htsjdk.samtools.cram.ref.ReferenceSource; @@ -22,7 +23,7 @@ /** * Created by vadim on 28/04/2015. */ -public class CRAMComplianceTest { +public class CRAMComplianceTest extends HtsjdkTest { @FunctionalInterface public interface TriConsumer { diff --git a/src/test/java/htsjdk/samtools/CRAMContainerStreamWriterTest.java b/src/test/java/htsjdk/samtools/CRAMContainerStreamWriterTest.java index b26f4b06b..9ab9ed278 100644 --- a/src/test/java/htsjdk/samtools/CRAMContainerStreamWriterTest.java +++ b/src/test/java/htsjdk/samtools/CRAMContainerStreamWriterTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.ref.ReferenceSource; import htsjdk.samtools.reference.InMemoryReferenceSequenceFile; import htsjdk.samtools.seekablestream.SeekableMemoryStream; @@ -23,7 +24,7 @@ import java.util.Collections; import java.util.List; -public class CRAMContainerStreamWriterTest { +public class CRAMContainerStreamWriterTest extends HtsjdkTest { @BeforeClass public void initClass() { diff --git a/src/test/java/htsjdk/samtools/CRAMEdgeCasesTest.java b/src/test/java/htsjdk/samtools/CRAMEdgeCasesTest.java index e77e0e8dc..4fa9b1a59 100644 --- a/src/test/java/htsjdk/samtools/CRAMEdgeCasesTest.java +++ b/src/test/java/htsjdk/samtools/CRAMEdgeCasesTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.CRAMException; import htsjdk.samtools.cram.ref.ReferenceSource; import htsjdk.samtools.reference.InMemoryReferenceSequenceFile; @@ -20,7 +21,7 @@ /** * A collection of CRAM test based on round trip comparison of SAMRecord before and after CRAM compression. */ -public class CRAMEdgeCasesTest { +public class CRAMEdgeCasesTest extends HtsjdkTest { @BeforeTest public void beforeTest() { diff --git a/src/test/java/htsjdk/samtools/CRAMFileBAIIndexTest.java b/src/test/java/htsjdk/samtools/CRAMFileBAIIndexTest.java index eba2b4cb7..32160920b 100644 --- a/src/test/java/htsjdk/samtools/CRAMFileBAIIndexTest.java +++ b/src/test/java/htsjdk/samtools/CRAMFileBAIIndexTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.build.ContainerParser; import htsjdk.samtools.cram.build.CramContainerIterator; import htsjdk.samtools.cram.ref.ReferenceSource; @@ -32,7 +33,7 @@ * The scan* tests check that for every records in the BAM file the query returns the same records from the CRAM file. * Created by Vadim on 14/03/2015. */ -public class CRAMFileBAIIndexTest { +public class CRAMFileBAIIndexTest extends HtsjdkTest { private final File BAM_FILE = new File("src/test/resources/htsjdk/samtools/BAMFileIndexTest/index_test.bam"); private File cramFile; private File indexFile; diff --git a/src/test/java/htsjdk/samtools/CRAMFileCRAIIndexTest.java b/src/test/java/htsjdk/samtools/CRAMFileCRAIIndexTest.java index 9084a0fc5..b919c4619 100644 --- a/src/test/java/htsjdk/samtools/CRAMFileCRAIIndexTest.java +++ b/src/test/java/htsjdk/samtools/CRAMFileCRAIIndexTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.build.ContainerParser; import htsjdk.samtools.cram.build.CramContainerIterator; import htsjdk.samtools.cram.ref.ReferenceSource; @@ -29,7 +30,8 @@ * file as the source of the test data. The scan* tests check that for every records in the * CRAM file the query returns the same records from the CRAM file. */ -public class CRAMFileCRAIIndexTest { +@Test(singleThreaded = true) +public class CRAMFileCRAIIndexTest extends HtsjdkTest { private final File BAM_FILE = new File("src/test/resources/htsjdk/samtools/BAMFileIndexTest/index_test.bam"); private final int nofReads = 10000 ; diff --git a/src/test/java/htsjdk/samtools/CRAMFileReaderTest.java b/src/test/java/htsjdk/samtools/CRAMFileReaderTest.java index 9e36c3ccc..da53f170c 100644 --- a/src/test/java/htsjdk/samtools/CRAMFileReaderTest.java +++ b/src/test/java/htsjdk/samtools/CRAMFileReaderTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.ref.ReferenceSource; import htsjdk.samtools.reference.InMemoryReferenceSequenceFile; import htsjdk.samtools.seekablestream.SeekableFileStream; @@ -40,7 +41,7 @@ /** * Additional tests for CRAMFileReader are in CRAMFileIndexTest */ -public class CRAMFileReaderTest { +public class CRAMFileReaderTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools"); private static final File CRAM_WITH_CRAI = new File(TEST_DATA_DIR, "cram_with_crai_index.cram"); diff --git a/src/test/java/htsjdk/samtools/CRAMFileWriterTest.java b/src/test/java/htsjdk/samtools/CRAMFileWriterTest.java index 312bf5404..bd3a5ab5b 100644 --- a/src/test/java/htsjdk/samtools/CRAMFileWriterTest.java +++ b/src/test/java/htsjdk/samtools/CRAMFileWriterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.ref.ReferenceSource; import htsjdk.samtools.reference.InMemoryReferenceSequenceFile; import htsjdk.samtools.util.Log; @@ -40,7 +41,7 @@ import java.util.Collections; import java.util.List; -public class CRAMFileWriterTest { +public class CRAMFileWriterTest extends HtsjdkTest { @BeforeClass public void initClass() { diff --git a/src/test/java/htsjdk/samtools/CRAMFileWriterWithIndexTest.java b/src/test/java/htsjdk/samtools/CRAMFileWriterWithIndexTest.java index b7e3eab0b..b7facb6cb 100644 --- a/src/test/java/htsjdk/samtools/CRAMFileWriterWithIndexTest.java +++ b/src/test/java/htsjdk/samtools/CRAMFileWriterWithIndexTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.CRAIIndex; import htsjdk.samtools.cram.ref.ReferenceSource; import htsjdk.samtools.reference.InMemoryReferenceSequenceFile; @@ -22,7 +23,7 @@ /** * Created by vadim on 23/03/2015. */ -public class CRAMFileWriterWithIndexTest { +public class CRAMFileWriterWithIndexTest extends HtsjdkTest { private byte[] cramBytes; private byte[] indexBytes; private InMemoryReferenceSequenceFile rsf; diff --git a/src/test/java/htsjdk/samtools/CRAMIndexQueryTest.java b/src/test/java/htsjdk/samtools/CRAMIndexQueryTest.java index df9431071..845433f9f 100644 --- a/src/test/java/htsjdk/samtools/CRAMIndexQueryTest.java +++ b/src/test/java/htsjdk/samtools/CRAMIndexQueryTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.seekablestream.SeekableFileStream; import htsjdk.samtools.util.CloseableIterator; import org.testng.Assert; @@ -42,7 +43,7 @@ * whatever index format (.bai or .crai converted to .bai) is available for the * target file. */ -public class CRAMIndexQueryTest { +public class CRAMIndexQueryTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools/cram"); diff --git a/src/test/java/htsjdk/samtools/ChunkTest.java b/src/test/java/htsjdk/samtools/ChunkTest.java index d2bc157e2..b3a9e0a53 100644 --- a/src/test/java/htsjdk/samtools/ChunkTest.java +++ b/src/test/java/htsjdk/samtools/ChunkTest.java @@ -23,10 +23,11 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; -public class ChunkTest { +public class ChunkTest extends HtsjdkTest { @Test public void testOverlaps() { // Test completely disjoint offsets. diff --git a/src/test/java/htsjdk/samtools/CigarCodecTest.java b/src/test/java/htsjdk/samtools/CigarCodecTest.java index 8275a9484..7ccde7d1b 100644 --- a/src/test/java/htsjdk/samtools/CigarCodecTest.java +++ b/src/test/java/htsjdk/samtools/CigarCodecTest.java @@ -23,12 +23,13 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; import java.util.Arrays; -public class CigarCodecTest { +public class CigarCodecTest extends HtsjdkTest { @Test diff --git a/src/test/java/htsjdk/samtools/CigarTest.java b/src/test/java/htsjdk/samtools/CigarTest.java index acdc22407..07fe34633 100644 --- a/src/test/java/htsjdk/samtools/CigarTest.java +++ b/src/test/java/htsjdk/samtools/CigarTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -33,7 +34,7 @@ /** * @author alecw@broadinstitute.org */ -public class CigarTest { +public class CigarTest extends HtsjdkTest { @DataProvider(name = "positiveTestsData") public Object[][] testPositive() { diff --git a/src/test/java/htsjdk/samtools/DownsamplingIteratorTests.java b/src/test/java/htsjdk/samtools/DownsamplingIteratorTests.java index e84ee2e48..96dff4656 100644 --- a/src/test/java/htsjdk/samtools/DownsamplingIteratorTests.java +++ b/src/test/java/htsjdk/samtools/DownsamplingIteratorTests.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.DownsamplingIteratorFactory.Strategy; import org.testng.Assert; import org.testng.annotations.Test; @@ -14,7 +15,7 @@ * Tests for the downsampling iterator class. * @author Tim Fennell */ -public class DownsamplingIteratorTests { +public class DownsamplingIteratorTests extends HtsjdkTest { final int NUM_TEMPLATES = 50000; final EnumMap ACCURACY = new EnumMap(Strategy.class){{ put(Strategy.HighAccuracy, 0.001); diff --git a/src/test/java/htsjdk/samtools/DuplicateSetIteratorTest.java b/src/test/java/htsjdk/samtools/DuplicateSetIteratorTest.java index 595295345..27e167881 100644 --- a/src/test/java/htsjdk/samtools/DuplicateSetIteratorTest.java +++ b/src/test/java/htsjdk/samtools/DuplicateSetIteratorTest.java @@ -1,12 +1,13 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; import java.util.HashMap; import java.util.Map; -public class DuplicateSetIteratorTest { +public class DuplicateSetIteratorTest extends HtsjdkTest { protected final static int DEFAULT_BASE_QUALITY = 10; private SAMRecordSetBuilder getSAMRecordSetBuilder() { diff --git a/src/test/java/htsjdk/samtools/GenomicIndexUtilTest.java b/src/test/java/htsjdk/samtools/GenomicIndexUtilTest.java index 8f5569c59..0bf322d58 100644 --- a/src/test/java/htsjdk/samtools/GenomicIndexUtilTest.java +++ b/src/test/java/htsjdk/samtools/GenomicIndexUtilTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -7,7 +8,7 @@ /** * Tests for GenomicIndexUtil. */ -public class GenomicIndexUtilTest { +public class GenomicIndexUtilTest extends HtsjdkTest { @Test(dataProvider = "testRegionToBinDataProvider") public void testRegionToBin(final int beg, final int end, final int bin) { @@ -47,4 +48,4 @@ public void testRegionToBin(final int beg, final int end, final int bin) { {1<<26, 1<<26+1, 2} }; } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/samtools/MergingSamRecordIteratorGroupCollisionTest.java b/src/test/java/htsjdk/samtools/MergingSamRecordIteratorGroupCollisionTest.java index 067f853ab..d350b8f38 100644 --- a/src/test/java/htsjdk/samtools/MergingSamRecordIteratorGroupCollisionTest.java +++ b/src/test/java/htsjdk/samtools/MergingSamRecordIteratorGroupCollisionTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloserUtil; import org.testng.Assert; import org.testng.annotations.DataProvider; @@ -37,7 +38,7 @@ * * @author Dave Tefft, Andre Mesarovic */ -public class MergingSamRecordIteratorGroupCollisionTest { +public class MergingSamRecordIteratorGroupCollisionTest extends HtsjdkTest { private GroupAdapter padapter = new ProgramGroupAdapter(); private GroupAdapter radapter = new ReadGroupAdapter(); diff --git a/src/test/java/htsjdk/samtools/MergingSamRecordIteratorTest.java b/src/test/java/htsjdk/samtools/MergingSamRecordIteratorTest.java index 885321b26..a50c02645 100644 --- a/src/test/java/htsjdk/samtools/MergingSamRecordIteratorTest.java +++ b/src/test/java/htsjdk/samtools/MergingSamRecordIteratorTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.SequenceUtil; import org.testng.Assert; import org.testng.annotations.Test; @@ -38,7 +39,7 @@ * * @author Dave Tefft */ -public class MergingSamRecordIteratorTest { +public class MergingSamRecordIteratorTest extends HtsjdkTest { @Test public void testVanillaCoordinateMultiIterator() throws Exception { diff --git a/src/test/java/htsjdk/samtools/ProgramRecordChainingTest.java b/src/test/java/htsjdk/samtools/ProgramRecordChainingTest.java index cd470c449..4811148f3 100644 --- a/src/test/java/htsjdk/samtools/ProgramRecordChainingTest.java +++ b/src/test/java/htsjdk/samtools/ProgramRecordChainingTest.java @@ -23,13 +23,14 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; /** * Test for SequenceUtil.chainProgramRecord */ -public class ProgramRecordChainingTest { +public class ProgramRecordChainingTest extends HtsjdkTest { @Test public void testChainProgramRecord() { diff --git a/src/test/java/htsjdk/samtools/SAMBinaryTagAndValueUnitTest.java b/src/test/java/htsjdk/samtools/SAMBinaryTagAndValueUnitTest.java index f5f7a5c01..93a20dc6e 100644 --- a/src/test/java/htsjdk/samtools/SAMBinaryTagAndValueUnitTest.java +++ b/src/test/java/htsjdk/samtools/SAMBinaryTagAndValueUnitTest.java @@ -1,11 +1,12 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.BinaryCodec; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -public class SAMBinaryTagAndValueUnitTest { +public class SAMBinaryTagAndValueUnitTest extends HtsjdkTest { @DataProvider(name="allowedAttributeTypes") public Object[][] allowedTypes() { diff --git a/src/test/java/htsjdk/samtools/SAMCloneTest.java b/src/test/java/htsjdk/samtools/SAMCloneTest.java index 8fdfb3bde..e05d29d7a 100644 --- a/src/test/java/htsjdk/samtools/SAMCloneTest.java +++ b/src/test/java/htsjdk/samtools/SAMCloneTest.java @@ -23,13 +23,14 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; /** * @author alecw@broadinstitute.org */ -public class SAMCloneTest { +public class SAMCloneTest extends HtsjdkTest { private SAMRecordSetBuilder getSAMReader(final boolean sortForMe, final SAMFileHeader.SortOrder sortOrder) { final SAMRecordSetBuilder ret = new SAMRecordSetBuilder(sortForMe, sortOrder); ret.addPair("readB", 20, 200, 300); diff --git a/src/test/java/htsjdk/samtools/SAMFileWriterFactoryTest.java b/src/test/java/htsjdk/samtools/SAMFileWriterFactoryTest.java index dc7a6f381..8c15a1656 100644 --- a/src/test/java/htsjdk/samtools/SAMFileWriterFactoryTest.java +++ b/src/test/java/htsjdk/samtools/SAMFileWriterFactoryTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.build.CramIO; import htsjdk.samtools.cram.ref.ReferenceSource; import htsjdk.samtools.util.IOUtil; @@ -32,7 +33,7 @@ import java.io.*; -public class SAMFileWriterFactoryTest { +public class SAMFileWriterFactoryTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools"); diff --git a/src/test/java/htsjdk/samtools/SAMFlagTest.java b/src/test/java/htsjdk/samtools/SAMFlagTest.java index 7b5a5539f..86dd8f0ee 100644 --- a/src/test/java/htsjdk/samtools/SAMFlagTest.java +++ b/src/test/java/htsjdk/samtools/SAMFlagTest.java @@ -24,10 +24,11 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; -public class SAMFlagTest { +public class SAMFlagTest extends HtsjdkTest { @Test public void testFlags() { Assert.assertTrue(SAMFlag.getFlags(83).contains(SAMFlag.READ_PAIRED)); diff --git a/src/test/java/htsjdk/samtools/SAMIntegerTagTest.java b/src/test/java/htsjdk/samtools/SAMIntegerTagTest.java index 133062a15..3fa38df62 100644 --- a/src/test/java/htsjdk/samtools/SAMIntegerTagTest.java +++ b/src/test/java/htsjdk/samtools/SAMIntegerTagTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.ref.ReferenceSource; import htsjdk.samtools.util.BinaryCodec; import htsjdk.samtools.util.CloserUtil; @@ -45,7 +46,7 @@ * * @author alecw@broadinstitute.org */ -public class SAMIntegerTagTest { +public class SAMIntegerTagTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools/SAMIntegerTagTest"); private static final String BYTE_TAG = "BY"; diff --git a/src/test/java/htsjdk/samtools/SAMRecordDuplicateComparatorTest.java b/src/test/java/htsjdk/samtools/SAMRecordDuplicateComparatorTest.java index cb509258e..99d187a58 100644 --- a/src/test/java/htsjdk/samtools/SAMRecordDuplicateComparatorTest.java +++ b/src/test/java/htsjdk/samtools/SAMRecordDuplicateComparatorTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -37,7 +38,7 @@ * * @author nhomer */ -public class SAMRecordDuplicateComparatorTest { +public class SAMRecordDuplicateComparatorTest extends HtsjdkTest { private final static SAMRecordDuplicateComparator comparator = new SAMRecordDuplicateComparator(); diff --git a/src/test/java/htsjdk/samtools/SAMRecordUnitTest.java b/src/test/java/htsjdk/samtools/SAMRecordUnitTest.java index 951ecee78..29118197f 100644 --- a/src/test/java/htsjdk/samtools/SAMRecordUnitTest.java +++ b/src/test/java/htsjdk/samtools/SAMRecordUnitTest.java @@ -24,6 +24,7 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.BinaryCodec; import htsjdk.samtools.util.TestUtil; import org.testng.Assert; @@ -34,7 +35,7 @@ import java.util.Arrays; import java.util.List; -public class SAMRecordUnitTest { +public class SAMRecordUnitTest extends HtsjdkTest { @DataProvider(name = "serializationTestData") public Object[][] getSerializationTestData() { diff --git a/src/test/java/htsjdk/samtools/SAMSequenceDictionaryCodecTest.java b/src/test/java/htsjdk/samtools/SAMSequenceDictionaryCodecTest.java index 32de1cd82..4257508cf 100644 --- a/src/test/java/htsjdk/samtools/SAMSequenceDictionaryCodecTest.java +++ b/src/test/java/htsjdk/samtools/SAMSequenceDictionaryCodecTest.java @@ -24,23 +24,24 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.LineReader; import htsjdk.samtools.util.StringLineReader; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; -import javax.sound.sampled.Line; import java.io.BufferedWriter; import java.io.StringWriter; import java.util.List; import java.util.Random; -import static org.testng.Assert.*; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertTrue; /** * @author Pavel_Silin@epam.com, EPAM Systems, Inc. */ -public class SAMSequenceDictionaryCodecTest { +public class SAMSequenceDictionaryCodecTest extends HtsjdkTest { private static final Random random = new Random(); private SAMSequenceDictionary dictionary; diff --git a/src/test/java/htsjdk/samtools/SAMSequenceDictionaryTest.java b/src/test/java/htsjdk/samtools/SAMSequenceDictionaryTest.java index 0b1a50780..8b1763067 100644 --- a/src/test/java/htsjdk/samtools/SAMSequenceDictionaryTest.java +++ b/src/test/java/htsjdk/samtools/SAMSequenceDictionaryTest.java @@ -26,23 +26,21 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -import java.io.StringReader; -import java.io.StringWriter; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; +import java.io.StringReader; +import java.io.StringWriter; +import java.util.Arrays; +import java.util.Collections; -public class SAMSequenceDictionaryTest { +public class SAMSequenceDictionaryTest extends HtsjdkTest { @Test public void testAliases() { final SAMSequenceRecord ssr1 = new SAMSequenceRecord("1", 1); diff --git a/src/test/java/htsjdk/samtools/SAMTextReaderTest.java b/src/test/java/htsjdk/samtools/SAMTextReaderTest.java index c80924b65..142eea32c 100644 --- a/src/test/java/htsjdk/samtools/SAMTextReaderTest.java +++ b/src/test/java/htsjdk/samtools/SAMTextReaderTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloseableIterator; import htsjdk.samtools.util.CloserUtil; import org.testng.Assert; @@ -31,7 +32,7 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; -public class SAMTextReaderTest { +public class SAMTextReaderTest extends HtsjdkTest { // Simple input, spot check that parsed correctly, and make sure nothing blows up. @Test public void testBasic() throws Exception { diff --git a/src/test/java/htsjdk/samtools/SAMTextWriterTest.java b/src/test/java/htsjdk/samtools/SAMTextWriterTest.java index 123ab6ba1..5c9ff28cd 100644 --- a/src/test/java/htsjdk/samtools/SAMTextWriterTest.java +++ b/src/test/java/htsjdk/samtools/SAMTextWriterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -31,7 +32,7 @@ import java.util.Iterator; import java.util.Map; -public class SAMTextWriterTest { +public class SAMTextWriterTest extends HtsjdkTest { private SAMRecordSetBuilder getSAMReader(final boolean sortForMe, final SAMFileHeader.SortOrder sortOrder) { final SAMRecordSetBuilder ret = new SAMRecordSetBuilder(sortForMe, sortOrder); diff --git a/src/test/java/htsjdk/samtools/SAMUtilsTest.java b/src/test/java/htsjdk/samtools/SAMUtilsTest.java index e3fe72656..28e89f755 100644 --- a/src/test/java/htsjdk/samtools/SAMUtilsTest.java +++ b/src/test/java/htsjdk/samtools/SAMUtilsTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -30,7 +31,7 @@ import java.util.Arrays; import java.util.List; -public class SAMUtilsTest { +public class SAMUtilsTest extends HtsjdkTest { @Test public void testCompareMapqs() { Assert.assertEquals(SAMUtils.compareMapqs(0, 0), 0); diff --git a/src/test/java/htsjdk/samtools/SamFileHeaderMergerTest.java b/src/test/java/htsjdk/samtools/SamFileHeaderMergerTest.java index 6e4fd750f..5c55c0b82 100644 --- a/src/test/java/htsjdk/samtools/SamFileHeaderMergerTest.java +++ b/src/test/java/htsjdk/samtools/SamFileHeaderMergerTest.java @@ -25,6 +25,7 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloserUtil; import htsjdk.samtools.util.IOUtil; import htsjdk.samtools.util.SequenceUtil; @@ -58,7 +59,7 @@ *

* Tests the ability of the SamFileHeaderMerger class to merge sequence dictionaries. */ -public class SamFileHeaderMergerTest { +public class SamFileHeaderMergerTest extends HtsjdkTest { private static File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools"); diff --git a/src/test/java/htsjdk/samtools/SamFilesTest.java b/src/test/java/htsjdk/samtools/SamFilesTest.java index 443a4d1e9..e7c1919d4 100644 --- a/src/test/java/htsjdk/samtools/SamFilesTest.java +++ b/src/test/java/htsjdk/samtools/SamFilesTest.java @@ -1,6 +1,8 @@ package htsjdk.samtools; import java.nio.file.Path; + +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -12,7 +14,7 @@ * Test valid combinations of bam/cram vs bai/crai files. * Created by vadim on 10/08/2015. */ -public class SamFilesTest { +public class SamFilesTest extends HtsjdkTest { private static final String TEST_DATA = "src/test/resources/htsjdk/samtools/BAMFileIndexTest/"; private static final File BAM_FILE = new File(TEST_DATA + "index_test.bam"); diff --git a/src/test/java/htsjdk/samtools/SamFlagFieldTest.java b/src/test/java/htsjdk/samtools/SamFlagFieldTest.java index f09e63683..36008cf69 100644 --- a/src/test/java/htsjdk/samtools/SamFlagFieldTest.java +++ b/src/test/java/htsjdk/samtools/SamFlagFieldTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -7,7 +8,7 @@ /** * @author nhomer */ -public class SamFlagFieldTest { +public class SamFlagFieldTest extends HtsjdkTest { @Test public void testAllFlags() { @@ -147,4 +148,4 @@ public void testIllegalHexadecimalFlagCharacter(){ public void testIllegalStringFlagCharacterExclamation(){ SamFlagField.STRING.parse("pmMr!F1s"); } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/samtools/SamHeaderRecordComparatorTest.java b/src/test/java/htsjdk/samtools/SamHeaderRecordComparatorTest.java index c11be38a1..da93add5b 100644 --- a/src/test/java/htsjdk/samtools/SamHeaderRecordComparatorTest.java +++ b/src/test/java/htsjdk/samtools/SamHeaderRecordComparatorTest.java @@ -24,11 +24,12 @@ * THE SOFTWARE. */ +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -public class SamHeaderRecordComparatorTest { +public class SamHeaderRecordComparatorTest extends HtsjdkTest { @DataProvider(name="UsualSuspects") public Object[][] createData() { diff --git a/src/test/java/htsjdk/samtools/SamIndexesTest.java b/src/test/java/htsjdk/samtools/SamIndexesTest.java index d13001f67..f78b0f371 100644 --- a/src/test/java/htsjdk/samtools/SamIndexesTest.java +++ b/src/test/java/htsjdk/samtools/SamIndexesTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.CRAIEntry; import htsjdk.samtools.cram.CRAIIndex; import htsjdk.samtools.seekablestream.SeekableFileStream; @@ -19,7 +20,7 @@ import java.util.List; import java.util.zip.GZIPOutputStream; -public class SamIndexesTest { +public class SamIndexesTest extends HtsjdkTest { @Test public void testEmptyBai() throws IOException { diff --git a/src/test/java/htsjdk/samtools/SamPairUtilTest.java b/src/test/java/htsjdk/samtools/SamPairUtilTest.java index 80841c906..f5c288a54 100644 --- a/src/test/java/htsjdk/samtools/SamPairUtilTest.java +++ b/src/test/java/htsjdk/samtools/SamPairUtilTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SamPairUtil.SetMateInfoIterator; import org.testng.Assert; import org.testng.annotations.DataProvider; @@ -32,7 +33,7 @@ import java.util.List; -public class SamPairUtilTest { +public class SamPairUtilTest extends HtsjdkTest { @Test(dataProvider = "testGetPairOrientation") public void testGetPairOrientation(final String testName, diff --git a/src/test/java/htsjdk/samtools/SamReaderFactoryTest.java b/src/test/java/htsjdk/samtools/SamReaderFactoryTest.java index 5b86c8a59..c244f3c8b 100644 --- a/src/test/java/htsjdk/samtools/SamReaderFactoryTest.java +++ b/src/test/java/htsjdk/samtools/SamReaderFactoryTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.ref.ReferenceSource; import htsjdk.samtools.seekablestream.ISeekableStreamFactory; import htsjdk.samtools.seekablestream.SeekableFileStream; @@ -30,7 +31,7 @@ import java.util.function.BiFunction; import java.util.zip.Inflater; -public class SamReaderFactoryTest { +public class SamReaderFactoryTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools"); private static final Log LOG = Log.getInstance(SamReaderFactoryTest.class); diff --git a/src/test/java/htsjdk/samtools/SamReaderSortTest.java b/src/test/java/htsjdk/samtools/SamReaderSortTest.java index e7484c787..4d712100b 100755 --- a/src/test/java/htsjdk/samtools/SamReaderSortTest.java +++ b/src/test/java/htsjdk/samtools/SamReaderSortTest.java @@ -24,6 +24,7 @@ * THE SOFTWARE. */ +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.ref.ReferenceSource; import org.testng.Assert; import org.testng.annotations.DataProvider; @@ -36,7 +37,7 @@ * * @author ktibbett@broadinstitute.org */ -public class SamReaderSortTest { +public class SamReaderSortTest extends HtsjdkTest { private static final String COORDINATE_SORTED_FILE = "src/test/resources/htsjdk/samtools/coordinate_sorted.sam"; private static final String QUERYNAME_SORTED_FILE = "src/test/resources/htsjdk/samtools/queryname_sorted.sam"; diff --git a/src/test/java/htsjdk/samtools/SamReaderTest.java b/src/test/java/htsjdk/samtools/SamReaderTest.java index 5af88214e..4d4d05634 100644 --- a/src/test/java/htsjdk/samtools/SamReaderTest.java +++ b/src/test/java/htsjdk/samtools/SamReaderTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloseableIterator; import htsjdk.samtools.util.CloserUtil; import org.testng.Assert; @@ -31,7 +32,7 @@ import java.io.File; -public class SamReaderTest { +public class SamReaderTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools"); @Test(dataProvider = "variousFormatReaderTestCases") diff --git a/src/test/java/htsjdk/samtools/SamSpecIntTest.java b/src/test/java/htsjdk/samtools/SamSpecIntTest.java index 8305065da..2ebc24e70 100644 --- a/src/test/java/htsjdk/samtools/SamSpecIntTest.java +++ b/src/test/java/htsjdk/samtools/SamSpecIntTest.java @@ -24,6 +24,7 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloserUtil; import org.testng.Assert; import org.testng.annotations.Test; @@ -33,7 +34,7 @@ import java.util.ArrayList; import java.util.List; -public class SamSpecIntTest { +public class SamSpecIntTest extends HtsjdkTest { private static final File SAM_INPUT = new File("src/test/resources/htsjdk/samtools/inttest.sam"); private static final File BAM_INPUT = new File("src/test/resources/htsjdk/samtools/inttest.bam"); diff --git a/src/test/java/htsjdk/samtools/SamStreamsTest.java b/src/test/java/htsjdk/samtools/SamStreamsTest.java index c92d6dbc0..48a074a8e 100644 --- a/src/test/java/htsjdk/samtools/SamStreamsTest.java +++ b/src/test/java/htsjdk/samtools/SamStreamsTest.java @@ -24,6 +24,7 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.seekablestream.SeekableFileStream; import htsjdk.samtools.seekablestream.SeekableStream; import htsjdk.samtools.seekablestream.SeekableStreamFactory; @@ -34,7 +35,7 @@ import java.io.*; import java.net.URL; -public class SamStreamsTest { +public class SamStreamsTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools"); @@ -121,4 +122,4 @@ public void sourceLikeBam( SeekableStreamFactory.getInstance().getStreamFor(new URL(resourceName)); Assert.assertEquals(SamStreams.sourceLikeBam(strm), expected); } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/samtools/SequenceNameTruncationAndValidationTest.java b/src/test/java/htsjdk/samtools/SequenceNameTruncationAndValidationTest.java index 2c3a95c6a..01999c481 100644 --- a/src/test/java/htsjdk/samtools/SequenceNameTruncationAndValidationTest.java +++ b/src/test/java/htsjdk/samtools/SequenceNameTruncationAndValidationTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.CloserUtil; import org.testng.Assert; import org.testng.annotations.DataProvider; @@ -36,7 +37,7 @@ * * @author alecw@broadinstitute.org */ -public class SequenceNameTruncationAndValidationTest { +public class SequenceNameTruncationAndValidationTest extends HtsjdkTest { private static File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools"); @Test(expectedExceptions = {SAMException.class}, dataProvider = "badSequenceNames") diff --git a/src/test/java/htsjdk/samtools/ValidateSamFileTest.java b/src/test/java/htsjdk/samtools/ValidateSamFileTest.java index 77ac59f0e..f227332d2 100644 --- a/src/test/java/htsjdk/samtools/ValidateSamFileTest.java +++ b/src/test/java/htsjdk/samtools/ValidateSamFileTest.java @@ -24,6 +24,7 @@ package htsjdk.samtools; +import htsjdk.HtsjdkTest; import htsjdk.samtools.BamIndexValidator.IndexValidationStringency; import htsjdk.samtools.metrics.MetricBase; import htsjdk.samtools.metrics.MetricsFile; @@ -58,7 +59,7 @@ * * @author Doug Voet */ -public class ValidateSamFileTest { +public class ValidateSamFileTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools/ValidateSamFileTest"); private static final int TERMINATION_GZIP_BLOCK_SIZE = 28; private static final int RANDOM_NUMBER_TRUNC_BYTE = 128; diff --git a/src/test/java/htsjdk/samtools/cram/CRAIEntryTest.java b/src/test/java/htsjdk/samtools/cram/CRAIEntryTest.java index 6cf49344b..d43f2fc14 100644 --- a/src/test/java/htsjdk/samtools/cram/CRAIEntryTest.java +++ b/src/test/java/htsjdk/samtools/cram/CRAIEntryTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.cram; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.structure.Container; import htsjdk.samtools.cram.structure.Slice; import org.testng.Assert; @@ -12,7 +13,7 @@ /** * Created by vadim on 25/08/2015. */ -public class CRAIEntryTest { +public class CRAIEntryTest extends HtsjdkTest { @Test public void testFromContainer() { diff --git a/src/test/java/htsjdk/samtools/cram/CRAIIndexTest.java b/src/test/java/htsjdk/samtools/cram/CRAIIndexTest.java index 7ebdb75e1..9e48d6b4e 100644 --- a/src/test/java/htsjdk/samtools/cram/CRAIIndexTest.java +++ b/src/test/java/htsjdk/samtools/cram/CRAIIndexTest.java @@ -1,23 +1,14 @@ package htsjdk.samtools.cram; -import htsjdk.samtools.BAMFileSpan; -import htsjdk.samtools.CRAMCRAIIndexer; -import htsjdk.samtools.DiskBasedBAMFileIndex; -import htsjdk.samtools.SAMFileHeader; -import htsjdk.samtools.SAMSequenceDictionary; -import htsjdk.samtools.SAMSequenceRecord; +import htsjdk.HtsjdkTest; +import htsjdk.samtools.*; import htsjdk.samtools.seekablestream.SeekableBufferedStream; import htsjdk.samtools.seekablestream.SeekableFileStream; import htsjdk.samtools.seekablestream.SeekableStream; import org.testng.Assert; import org.testng.annotations.Test; -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; +import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.function.BiFunction; @@ -26,7 +17,7 @@ /** * Created by vadim on 25/08/2015. */ -public class CRAIIndexTest { +public class CRAIIndexTest extends HtsjdkTest { @Test public void testFind() throws IOException, CloneNotSupportedException { diff --git a/src/test/java/htsjdk/samtools/cram/LosslessRoundTripTest.java b/src/test/java/htsjdk/samtools/cram/LosslessRoundTripTest.java index 67cd4833c..1ae8e142a 100644 --- a/src/test/java/htsjdk/samtools/cram/LosslessRoundTripTest.java +++ b/src/test/java/htsjdk/samtools/cram/LosslessRoundTripTest.java @@ -1,31 +1,18 @@ package htsjdk.samtools.cram; -import htsjdk.samtools.CRAMFileReader; -import htsjdk.samtools.CRAMFileWriter; -import htsjdk.samtools.Cigar; -import htsjdk.samtools.CigarElement; -import htsjdk.samtools.CigarOperator; -import htsjdk.samtools.SAMFileHeader; -import htsjdk.samtools.SAMReadGroupRecord; -import htsjdk.samtools.SAMRecord; -import htsjdk.samtools.SAMRecordIterator; -import htsjdk.samtools.SAMSequenceRecord; -import htsjdk.samtools.ValidationStringency; +import htsjdk.HtsjdkTest; +import htsjdk.samtools.*; import htsjdk.samtools.cram.ref.ReferenceSource; import htsjdk.samtools.reference.InMemoryReferenceSequenceFile; import org.testng.Assert; import org.testng.annotations.Test; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; /** * Created by vadim on 19/02/2016. */ -public class LosslessRoundTripTest { +public class LosslessRoundTripTest extends HtsjdkTest { @Test public void test_MD_NM() throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); diff --git a/src/test/java/htsjdk/samtools/cram/VersionTest.java b/src/test/java/htsjdk/samtools/cram/VersionTest.java index 0602eb376..be2851eb6 100644 --- a/src/test/java/htsjdk/samtools/cram/VersionTest.java +++ b/src/test/java/htsjdk/samtools/cram/VersionTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.cram; +import htsjdk.HtsjdkTest; import htsjdk.samtools.CRAMFileWriter; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMRecord; @@ -26,7 +27,7 @@ /** * Created by vadim on 18/02/2016. */ -public class VersionTest { +public class VersionTest extends HtsjdkTest { /** * The test purpose is to ensure that a CRAM written by {@link CRAMFileWriter} adheres to CRAM3 specs expectations: * 1. version 3.+, via both actual byte comparison and CramIO API diff --git a/src/test/java/htsjdk/samtools/cram/build/CompressionHeaderFactoryTest.java b/src/test/java/htsjdk/samtools/cram/build/CompressionHeaderFactoryTest.java index a3d91cdc7..8e39d9f76 100644 --- a/src/test/java/htsjdk/samtools/cram/build/CompressionHeaderFactoryTest.java +++ b/src/test/java/htsjdk/samtools/cram/build/CompressionHeaderFactoryTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.cram.build; +import htsjdk.HtsjdkTest; import htsjdk.samtools.ValidationStringency; import htsjdk.samtools.cram.encoding.readfeatures.Substitution; import htsjdk.samtools.cram.structure.CompressionHeader; @@ -17,7 +18,7 @@ /** * Created by vadim on 07/01/2016. */ -public class CompressionHeaderFactoryTest { +public class CompressionHeaderFactoryTest extends HtsjdkTest { @Test public void testAllEncodingsPresent() { final CompressionHeader header = new CompressionHeaderFactory().build(new ArrayList<>(), new SubstitutionMatrix(new long[256][256]), true); diff --git a/src/test/java/htsjdk/samtools/cram/build/ContainerFactoryTest.java b/src/test/java/htsjdk/samtools/cram/build/ContainerFactoryTest.java index cb004a729..cf4f91e51 100644 --- a/src/test/java/htsjdk/samtools/cram/build/ContainerFactoryTest.java +++ b/src/test/java/htsjdk/samtools/cram/build/ContainerFactoryTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.cram.build; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMRecord; import htsjdk.samtools.SAMSequenceRecord; @@ -19,7 +20,7 @@ /** * Created by vadim on 15/12/2015. */ -public class ContainerFactoryTest { +public class ContainerFactoryTest extends HtsjdkTest { @Test public void testUnmapped() throws IOException, IllegalAccessException { diff --git a/src/test/java/htsjdk/samtools/cram/build/ContainerParserTest.java b/src/test/java/htsjdk/samtools/cram/build/ContainerParserTest.java index fe25ce667..b16dc0f15 100644 --- a/src/test/java/htsjdk/samtools/cram/build/ContainerParserTest.java +++ b/src/test/java/htsjdk/samtools/cram/build/ContainerParserTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.cram.build; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMRecord; import htsjdk.samtools.ValidationStringency; @@ -24,7 +25,7 @@ /** * Created by vadim on 11/01/2016. */ -public class ContainerParserTest { +public class ContainerParserTest extends HtsjdkTest { @Test public void testEOF() throws IOException, IllegalAccessException { diff --git a/src/test/java/htsjdk/samtools/cram/build/CramIOTest.java b/src/test/java/htsjdk/samtools/cram/build/CramIOTest.java index 1035f242e..bab50dc44 100644 --- a/src/test/java/htsjdk/samtools/cram/build/CramIOTest.java +++ b/src/test/java/htsjdk/samtools/cram/build/CramIOTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.cram.build; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMSequenceRecord; import htsjdk.samtools.cram.common.CramVersions; @@ -15,7 +16,7 @@ /** * Created by vadim on 25/08/2015. */ -public class CramIOTest { +public class CramIOTest extends HtsjdkTest { @Test public void testCheckHeaderAndEOF_v2() throws IOException { final String id = "testid"; diff --git a/src/test/java/htsjdk/samtools/cram/encoding/huffman/codec/HuffmanTest.java b/src/test/java/htsjdk/samtools/cram/encoding/huffman/codec/HuffmanTest.java index f2ca2f2b1..fd24c6b8e 100644 --- a/src/test/java/htsjdk/samtools/cram/encoding/huffman/codec/HuffmanTest.java +++ b/src/test/java/htsjdk/samtools/cram/encoding/huffman/codec/HuffmanTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.cram.encoding.huffman.codec; +import htsjdk.HtsjdkTest; import htsjdk.samtools.cram.io.DefaultBitInputStream; import htsjdk.samtools.cram.io.DefaultBitOutputStream; import htsjdk.samtools.cram.structure.ReadTag; @@ -13,7 +14,7 @@ /** * Created by vadim on 22/04/2015. */ -public class HuffmanTest { +public class HuffmanTest extends HtsjdkTest { @Test public void testHuffmanIntHelper() throws IOException { int size = 1000000; diff --git a/src/test/java/htsjdk/samtools/cram/encoding/rans/RansTest.java b/src/test/java/htsjdk/samtools/cram/encoding/rans/RansTest.java index ca846863b..8e05a12f1 100644 --- a/src/test/java/htsjdk/samtools/cram/encoding/rans/RansTest.java +++ b/src/test/java/htsjdk/samtools/cram/encoding/rans/RansTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.cram.encoding.rans; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -10,7 +11,7 @@ /** * Created by vadim on 22/04/2015. */ -public class RansTest { +public class RansTest extends HtsjdkTest { @Test public void testEmpty() { roundTrip(new byte[0]); diff --git a/src/test/java/htsjdk/samtools/cram/io/ITF8Test.java b/src/test/java/htsjdk/samtools/cram/io/ITF8Test.java index 5d95d2cc7..a206ad1f0 100644 --- a/src/test/java/htsjdk/samtools/cram/io/ITF8Test.java +++ b/src/test/java/htsjdk/samtools/cram/io/ITF8Test.java @@ -1,5 +1,6 @@ package htsjdk.samtools.cram.io; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.Tuple; import org.testng.Assert; import org.testng.annotations.BeforeClass; @@ -16,7 +17,7 @@ /** * Created by vadim on 03/02/2015. */ -public class ITF8Test { +public class ITF8Test extends HtsjdkTest { private ExposedByteArrayOutputStream testBAOS; private ByteArrayInputStream testBAIS; diff --git a/src/test/java/htsjdk/samtools/cram/io/LTF8Test.java b/src/test/java/htsjdk/samtools/cram/io/LTF8Test.java index 510379732..03d310dde 100644 --- a/src/test/java/htsjdk/samtools/cram/io/LTF8Test.java +++ b/src/test/java/htsjdk/samtools/cram/io/LTF8Test.java @@ -1,5 +1,6 @@ package htsjdk.samtools.cram.io; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; @@ -14,7 +15,7 @@ /** * Created by vadim on 03/02/2015. */ -public class LTF8Test { +public class LTF8Test extends HtsjdkTest { private ExposedByteArrayOutputStream ltf8TestBAOS; private ByteArrayInputStream ltf8TestBAIS; diff --git a/src/test/java/htsjdk/samtools/cram/lossy/QualityScorePreservationTest.java b/src/test/java/htsjdk/samtools/cram/lossy/QualityScorePreservationTest.java index 34b4676d9..575485e82 100644 --- a/src/test/java/htsjdk/samtools/cram/lossy/QualityScorePreservationTest.java +++ b/src/test/java/htsjdk/samtools/cram/lossy/QualityScorePreservationTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.cram.lossy; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMRecord; import htsjdk.samtools.SamInputResource; @@ -23,7 +24,7 @@ import static org.testng.Assert.*; -public class QualityScorePreservationTest { +public class QualityScorePreservationTest extends HtsjdkTest { @Test public void test1() { diff --git a/src/test/java/htsjdk/samtools/cram/ref/EnaRefServiceTest.java b/src/test/java/htsjdk/samtools/cram/ref/EnaRefServiceTest.java index 852a513b4..7f537843e 100644 --- a/src/test/java/htsjdk/samtools/cram/ref/EnaRefServiceTest.java +++ b/src/test/java/htsjdk/samtools/cram/ref/EnaRefServiceTest.java @@ -1,11 +1,12 @@ package htsjdk.samtools.cram.ref; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; import java.io.IOException; -public class EnaRefServiceTest { +public class EnaRefServiceTest extends HtsjdkTest { @Test public void test() throws IOException, EnaRefService.GaveUpException { diff --git a/src/test/java/htsjdk/samtools/cram/structure/CramCompressionRecordTest.java b/src/test/java/htsjdk/samtools/cram/structure/CramCompressionRecordTest.java index 03360bd6b..a455476fa 100644 --- a/src/test/java/htsjdk/samtools/cram/structure/CramCompressionRecordTest.java +++ b/src/test/java/htsjdk/samtools/cram/structure/CramCompressionRecordTest.java @@ -1,11 +1,8 @@ package htsjdk.samtools.cram.structure; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMRecord; -import htsjdk.samtools.cram.encoding.readfeatures.Deletion; -import htsjdk.samtools.cram.encoding.readfeatures.InsertBase; -import htsjdk.samtools.cram.encoding.readfeatures.Insertion; -import htsjdk.samtools.cram.encoding.readfeatures.ReadFeature; -import htsjdk.samtools.cram.encoding.readfeatures.SoftClip; +import htsjdk.samtools.cram.encoding.readfeatures.*; import org.testng.Assert; import org.testng.annotations.Test; @@ -14,7 +11,7 @@ /** * Created by vadim on 28/09/2015. */ -public class CramCompressionRecordTest { +public class CramCompressionRecordTest extends HtsjdkTest { @Test public void test_getAlignmentEnd() { CramCompressionRecord r = new CramCompressionRecord(); diff --git a/src/test/java/htsjdk/samtools/cram/structure/ReadTagTest.java b/src/test/java/htsjdk/samtools/cram/structure/ReadTagTest.java index 3ed0b4006..314fd2498 100644 --- a/src/test/java/htsjdk/samtools/cram/structure/ReadTagTest.java +++ b/src/test/java/htsjdk/samtools/cram/structure/ReadTagTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.cram.structure; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMRecord; import htsjdk.samtools.ValidationStringency; @@ -31,14 +32,9 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; -public class ReadTagTest { +public class ReadTagTest extends HtsjdkTest { @Test public void test () { diff --git a/src/test/java/htsjdk/samtools/cram/structure/SliceTests.java b/src/test/java/htsjdk/samtools/cram/structure/SliceTests.java index c52dccba1..eeb34ee09 100644 --- a/src/test/java/htsjdk/samtools/cram/structure/SliceTests.java +++ b/src/test/java/htsjdk/samtools/cram/structure/SliceTests.java @@ -1,7 +1,7 @@ package htsjdk.samtools.cram.structure; +import htsjdk.HtsjdkTest; import htsjdk.samtools.CRAMFileReader; -import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMRecord; import htsjdk.samtools.ValidationStringency; import htsjdk.samtools.cram.CRAMException; @@ -17,7 +17,7 @@ /** * Created by vadim on 07/12/2015. */ -public class SliceTests { +public class SliceTests extends HtsjdkTest { @Test public void testUnmappedValidateRef() { Slice slice = new Slice(); diff --git a/src/test/java/htsjdk/samtools/cram/structure/SubstitutionMatrixTest.java b/src/test/java/htsjdk/samtools/cram/structure/SubstitutionMatrixTest.java index 31e770832..625118923 100644 --- a/src/test/java/htsjdk/samtools/cram/structure/SubstitutionMatrixTest.java +++ b/src/test/java/htsjdk/samtools/cram/structure/SubstitutionMatrixTest.java @@ -1,17 +1,15 @@ package htsjdk.samtools.cram.structure; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.BeforeGroups; import org.testng.annotations.DataProvider; -import org.testng.annotations.Parameters; import org.testng.annotations.Test; -import java.util.Arrays; - /** * Created by Vadim on 12/03/2015. */ -public class SubstitutionMatrixTest { +public class SubstitutionMatrixTest extends HtsjdkTest { SubstitutionMatrix m; long[][] freqs; diff --git a/src/test/java/htsjdk/samtools/fastq/FastqRecordTest.java b/src/test/java/htsjdk/samtools/fastq/FastqRecordTest.java index 97a3d3c8d..5ace9ffc3 100644 --- a/src/test/java/htsjdk/samtools/fastq/FastqRecordTest.java +++ b/src/test/java/htsjdk/samtools/fastq/FastqRecordTest.java @@ -1,9 +1,10 @@ package htsjdk.samtools.fastq; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; -public final class FastqRecordTest { +public final class FastqRecordTest extends HtsjdkTest { @Test public void testBasic() { @@ -206,4 +207,4 @@ public void testNotEqualLengths() { new FastqRecord("header", seqLine1, "qualHeaderPrefix", qualLine1); //Note: this does not blow up now but it will once we enforce that seqLine and qualLine be the same length } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/samtools/fastq/FastqWriterTest.java b/src/test/java/htsjdk/samtools/fastq/FastqWriterTest.java index eba5c5b9f..22549e904 100644 --- a/src/test/java/htsjdk/samtools/fastq/FastqWriterTest.java +++ b/src/test/java/htsjdk/samtools/fastq/FastqWriterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.fastq; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -35,7 +36,7 @@ /** * test fastq */ -public class FastqWriterTest { +public class FastqWriterTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools/util/QualityEncodingDetectorTest"); @DataProvider(name = "fastqsource") diff --git a/src/test/java/htsjdk/samtools/filter/FailsVendorReadQualityFilterTest.java b/src/test/java/htsjdk/samtools/filter/FailsVendorReadQualityFilterTest.java index cb2cb0545..ed83f094b 100644 --- a/src/test/java/htsjdk/samtools/filter/FailsVendorReadQualityFilterTest.java +++ b/src/test/java/htsjdk/samtools/filter/FailsVendorReadQualityFilterTest.java @@ -23,13 +23,14 @@ */ package htsjdk.samtools.filter; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMRecord; import htsjdk.samtools.SAMRecordSetBuilder; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -public class FailsVendorReadQualityFilterTest { +public class FailsVendorReadQualityFilterTest extends HtsjdkTest { private final SAMRecordSetBuilder builder = new SAMRecordSetBuilder(); private final FailsVendorReadQualityFilter filter = new FailsVendorReadQualityFilter(); diff --git a/src/test/java/htsjdk/samtools/filter/InsertSizeFilterTest.java b/src/test/java/htsjdk/samtools/filter/InsertSizeFilterTest.java index fc4937da4..48d8edc15 100644 --- a/src/test/java/htsjdk/samtools/filter/InsertSizeFilterTest.java +++ b/src/test/java/htsjdk/samtools/filter/InsertSizeFilterTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.filter; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMRecord; import htsjdk.samtools.SAMRecordSetBuilder; import org.testng.Assert; @@ -7,7 +8,7 @@ import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -public class InsertSizeFilterTest { +public class InsertSizeFilterTest extends HtsjdkTest { private static final int READ_LENGTH = 20; private final SAMRecordSetBuilder builder = new SAMRecordSetBuilder(); diff --git a/src/test/java/htsjdk/samtools/filter/IntervalKeepPairFilterTest.java b/src/test/java/htsjdk/samtools/filter/IntervalKeepPairFilterTest.java index 3d30255f5..7d3c23e79 100644 --- a/src/test/java/htsjdk/samtools/filter/IntervalKeepPairFilterTest.java +++ b/src/test/java/htsjdk/samtools/filter/IntervalKeepPairFilterTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.filter; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMRecordSetBuilder; import htsjdk.samtools.util.CollectionUtil; import org.testng.Assert; @@ -11,7 +12,7 @@ import java.util.ArrayList; import java.util.stream.StreamSupport; -public class IntervalKeepPairFilterTest { +public class IntervalKeepPairFilterTest extends HtsjdkTest { private static final int READ_LENGTH = 151; private final SAMRecordSetBuilder builder = new SAMRecordSetBuilder(); diff --git a/src/test/java/htsjdk/samtools/filter/JavascriptSamRecordFilterTest.java b/src/test/java/htsjdk/samtools/filter/JavascriptSamRecordFilterTest.java index 78355760a..043f24d46 100644 --- a/src/test/java/htsjdk/samtools/filter/JavascriptSamRecordFilterTest.java +++ b/src/test/java/htsjdk/samtools/filter/JavascriptSamRecordFilterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.filter; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMRecordIterator; import htsjdk.samtools.SamReader; import htsjdk.samtools.SamReaderFactory; @@ -39,7 +40,7 @@ * @author Pierre Lindenbaum PhD Institut du Thorax - INSERM - Nantes - France */ -public class JavascriptSamRecordFilterTest { +public class JavascriptSamRecordFilterTest extends HtsjdkTest { final File testDir = new File("./src/test/resources/htsjdk/samtools"); @DataProvider diff --git a/src/test/java/htsjdk/samtools/filter/MappingQualityFilterTest.java b/src/test/java/htsjdk/samtools/filter/MappingQualityFilterTest.java index 2bffcd64a..9d9f7b819 100644 --- a/src/test/java/htsjdk/samtools/filter/MappingQualityFilterTest.java +++ b/src/test/java/htsjdk/samtools/filter/MappingQualityFilterTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.filter; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMRecord; import htsjdk.samtools.SAMRecordSetBuilder; import org.testng.Assert; @@ -7,7 +8,7 @@ import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -public class MappingQualityFilterTest { +public class MappingQualityFilterTest extends HtsjdkTest { private final SAMRecordSetBuilder builder = new SAMRecordSetBuilder(); @BeforeTest diff --git a/src/test/java/htsjdk/samtools/filter/OverclippedReadFilterTest.java b/src/test/java/htsjdk/samtools/filter/OverclippedReadFilterTest.java index bff84918c..e154e40ec 100644 --- a/src/test/java/htsjdk/samtools/filter/OverclippedReadFilterTest.java +++ b/src/test/java/htsjdk/samtools/filter/OverclippedReadFilterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.filter; +import htsjdk.HtsjdkTest; import htsjdk.samtools.Cigar; import htsjdk.samtools.SAMRecord; import htsjdk.samtools.SAMRecordSetBuilder; @@ -31,7 +32,7 @@ import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -public class OverclippedReadFilterTest { +public class OverclippedReadFilterTest extends HtsjdkTest { private final SAMRecordSetBuilder builder = new SAMRecordSetBuilder(); private final int unclippedBasesThreshold = 30; diff --git a/src/test/java/htsjdk/samtools/filter/SolexaNoiseFilterTest.java b/src/test/java/htsjdk/samtools/filter/SolexaNoiseFilterTest.java index 96fa324b9..5ea20d406 100644 --- a/src/test/java/htsjdk/samtools/filter/SolexaNoiseFilterTest.java +++ b/src/test/java/htsjdk/samtools/filter/SolexaNoiseFilterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.filter; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMRecord; import htsjdk.samtools.SAMRecordSetBuilder; import org.testng.Assert; @@ -32,7 +33,7 @@ /** * Basic test for the SolexaNoiseFilter */ -public class SolexaNoiseFilterTest { +public class SolexaNoiseFilterTest extends HtsjdkTest { private final SAMRecordSetBuilder builder = new SAMRecordSetBuilder(); private final SolexaNoiseFilter filter = new SolexaNoiseFilter(); diff --git a/src/test/java/htsjdk/samtools/filter/TagFilterTest.java b/src/test/java/htsjdk/samtools/filter/TagFilterTest.java index 6e0c70293..d885cbe9f 100644 --- a/src/test/java/htsjdk/samtools/filter/TagFilterTest.java +++ b/src/test/java/htsjdk/samtools/filter/TagFilterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.filter; +import htsjdk.HtsjdkTest; import htsjdk.samtools.ReservedTagConstants; import htsjdk.samtools.SAMRecord; import htsjdk.samtools.SAMRecordSetBuilder; @@ -36,7 +37,7 @@ /** * Tests for the TagFilter class */ -public class TagFilterTest { +public class TagFilterTest extends HtsjdkTest { private final SAMRecordSetBuilder builder = new SAMRecordSetBuilder(); @@ -74,4 +75,4 @@ public void testTagFilter(final String testName, final String tag, final List */ -public class AbstractLocusInfoTest { +public class AbstractLocusInfoTest extends HtsjdkTest { private final byte[] qualities = {30, 50, 50, 60, 60, 70, 70, 70, 80, 90, 30, 50, 50, 60, 60, 70, 70, 70, 80, 90}; private byte[] bases = {'A', 'C', 'G', 'T', 'A', 'C', 'G', 'T', 'T', 'C', 'A', 'C', 'G', 'T', 'A', 'C', 'G', 'T', 'T', 'C'}; private EdgingRecordAndOffset typedRecordAndOffset; diff --git a/src/test/java/htsjdk/samtools/util/AbstractLocusIteratorTestTemplate.java b/src/test/java/htsjdk/samtools/util/AbstractLocusIteratorTestTemplate.java index 0c08436e5..d1e2f0f2e 100644 --- a/src/test/java/htsjdk/samtools/util/AbstractLocusIteratorTestTemplate.java +++ b/src/test/java/htsjdk/samtools/util/AbstractLocusIteratorTestTemplate.java @@ -25,6 +25,7 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMRecordSetBuilder; import htsjdk.samtools.SAMSequenceDictionary; @@ -36,7 +37,7 @@ * @author Mariia_Zueva@epam.com, EPAM Systems, Inc. * */ -public abstract class AbstractLocusIteratorTestTemplate { +public abstract class AbstractLocusIteratorTestTemplate extends HtsjdkTest { /** Coverage for tests with the same reads */ final static int coverage = 2; @@ -65,4 +66,4 @@ static SAMRecordSetBuilder getRecordBuilder() { public abstract void testEmitUncoveredLoci(); public abstract void testSimpleGappedAlignment(); public abstract void testOverlappingGappedAlignmentsWithoutIndels(); -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/samtools/util/AbstractRecordAndOffsetTest.java b/src/test/java/htsjdk/samtools/util/AbstractRecordAndOffsetTest.java index 568c84c7c..8993e417a 100644 --- a/src/test/java/htsjdk/samtools/util/AbstractRecordAndOffsetTest.java +++ b/src/test/java/htsjdk/samtools/util/AbstractRecordAndOffsetTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMRecord; import org.testng.annotations.BeforeTest; @@ -36,7 +37,7 @@ * */ -public class AbstractRecordAndOffsetTest { +public class AbstractRecordAndOffsetTest extends HtsjdkTest { private final byte[] qualities = {30, 40, 50, 60, 70, 80 ,90, 70, 80, 90}; private byte[] bases = {'A', 'C', 'G', 'T', 'A', 'C', 'G', 'T', 'T', 'C'}; diff --git a/src/test/java/htsjdk/samtools/util/AsyncBlockCompressedInputStreamTest.java b/src/test/java/htsjdk/samtools/util/AsyncBlockCompressedInputStreamTest.java index 957a86942..a1f9881a0 100644 --- a/src/test/java/htsjdk/samtools/util/AsyncBlockCompressedInputStreamTest.java +++ b/src/test/java/htsjdk/samtools/util/AsyncBlockCompressedInputStreamTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -32,7 +33,7 @@ import java.util.ArrayList; import java.util.List; -public class AsyncBlockCompressedInputStreamTest { +public class AsyncBlockCompressedInputStreamTest extends HtsjdkTest { private final File BAM_FILE = new File("src/test/resources/htsjdk/samtools/BAMFileIndexTest/index_test.bam"); @Test public void testAsync() throws Exception { diff --git a/src/test/java/htsjdk/samtools/util/AsyncBufferedIteratorTest.java b/src/test/java/htsjdk/samtools/util/AsyncBufferedIteratorTest.java index 817c60e54..ce4d44599 100644 --- a/src/test/java/htsjdk/samtools/util/AsyncBufferedIteratorTest.java +++ b/src/test/java/htsjdk/samtools/util/AsyncBufferedIteratorTest.java @@ -23,10 +23,11 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; -public class AsyncBufferedIteratorTest { +public class AsyncBufferedIteratorTest extends HtsjdkTest { private static class TestCloseableIterator implements CloseableIterator { private int[] results; private volatile int offset = 0; diff --git a/src/test/java/htsjdk/samtools/util/AsyncWriterTest.java b/src/test/java/htsjdk/samtools/util/AsyncWriterTest.java index c807ceffb..1d2c3043f 100644 --- a/src/test/java/htsjdk/samtools/util/AsyncWriterTest.java +++ b/src/test/java/htsjdk/samtools/util/AsyncWriterTest.java @@ -23,10 +23,11 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; -public class AsyncWriterTest { +public class AsyncWriterTest extends HtsjdkTest { private static class MyException extends RuntimeException { final Integer item; public MyException(Integer item) { diff --git a/src/test/java/htsjdk/samtools/util/BinaryCodecTest.java b/src/test/java/htsjdk/samtools/util/BinaryCodecTest.java index 91e114729..b59c9527d 100644 --- a/src/test/java/htsjdk/samtools/util/BinaryCodecTest.java +++ b/src/test/java/htsjdk/samtools/util/BinaryCodecTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -44,7 +45,7 @@ * the Broad Institute nor MIT can be responsible for its use, misuse, or functionality. */ -public class BinaryCodecTest { +public class BinaryCodecTest extends HtsjdkTest { public final static String TEST_BASENAME = "htsjdk-BinaryCodecTest"; @Test diff --git a/src/test/java/htsjdk/samtools/util/BlockCompressedFilePointerUtilTest.java b/src/test/java/htsjdk/samtools/util/BlockCompressedFilePointerUtilTest.java index 850b4bf62..38c3ec374 100644 --- a/src/test/java/htsjdk/samtools/util/BlockCompressedFilePointerUtilTest.java +++ b/src/test/java/htsjdk/samtools/util/BlockCompressedFilePointerUtilTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -31,8 +32,7 @@ import java.util.List; -public class BlockCompressedFilePointerUtilTest -{ +public class BlockCompressedFilePointerUtilTest extends HtsjdkTest { @Test public void basicTest() { diff --git a/src/test/java/htsjdk/samtools/util/BlockCompressedInputStreamTest.java b/src/test/java/htsjdk/samtools/util/BlockCompressedInputStreamTest.java index f4ce2cf52..4c9d532d0 100644 --- a/src/test/java/htsjdk/samtools/util/BlockCompressedInputStreamTest.java +++ b/src/test/java/htsjdk/samtools/util/BlockCompressedInputStreamTest.java @@ -1,24 +1,21 @@ package htsjdk.samtools.util; -import java.io.*; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.zip.Inflater; - -import java.io.File; -import java.io.FileInputStream; -import java.nio.file.Files; -import java.util.Arrays; - +import htsjdk.HtsjdkTest; +import htsjdk.samtools.seekablestream.SeekableFileStream; import htsjdk.samtools.util.zip.InflaterFactory; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -import htsjdk.samtools.seekablestream.SeekableFileStream; +import java.io.*; +import java.net.URL; +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.zip.Inflater; -public class BlockCompressedInputStreamTest { +public class BlockCompressedInputStreamTest extends HtsjdkTest { // random data pulled from /dev/random then compressed using bgzip from tabix private static final File BLOCK_UNCOMPRESSED = new File("src/test/resources/htsjdk/samtools/util/random.bin"); private static final File BLOCK_COMPRESSED = new File("src/test/resources/htsjdk/samtools/util/random.bin.gz"); diff --git a/src/test/java/htsjdk/samtools/util/BlockCompressedOutputStreamTest.java b/src/test/java/htsjdk/samtools/util/BlockCompressedOutputStreamTest.java index 69d72565f..a678c8dca 100644 --- a/src/test/java/htsjdk/samtools/util/BlockCompressedOutputStreamTest.java +++ b/src/test/java/htsjdk/samtools/util/BlockCompressedOutputStreamTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import htsjdk.samtools.FileTruncatedException; import htsjdk.samtools.util.zip.DeflaterFactory; import org.testng.Assert; @@ -39,7 +40,7 @@ import java.util.Random; import java.util.zip.Deflater; -public class BlockCompressedOutputStreamTest { +public class BlockCompressedOutputStreamTest extends HtsjdkTest { private static final String HTSJDK_TRIBBLE_RESOURCES = "src/test/resources/htsjdk/tribble/"; diff --git a/src/test/java/htsjdk/samtools/util/BlockCompressedTerminatorTest.java b/src/test/java/htsjdk/samtools/util/BlockCompressedTerminatorTest.java index 5b5837229..d9d20ccef 100644 --- a/src/test/java/htsjdk/samtools/util/BlockCompressedTerminatorTest.java +++ b/src/test/java/htsjdk/samtools/util/BlockCompressedTerminatorTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -31,7 +32,7 @@ /** * @author alecw@broadinstitute.org */ -public class BlockCompressedTerminatorTest { +public class BlockCompressedTerminatorTest extends HtsjdkTest { private static final File TEST_DATA_DIR = new File("src/test/resources/htsjdk/samtools/util"); @Test diff --git a/src/test/java/htsjdk/samtools/util/CigarUtilTest.java b/src/test/java/htsjdk/samtools/util/CigarUtilTest.java index 0aca3951a..6fe7b7199 100644 --- a/src/test/java/htsjdk/samtools/util/CigarUtilTest.java +++ b/src/test/java/htsjdk/samtools/util/CigarUtilTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import htsjdk.samtools.Cigar; import htsjdk.samtools.CigarElement; import htsjdk.samtools.TextCigarCodec; @@ -40,7 +41,7 @@ * * @author Martha Borkan mborkan@broadinstitute.org */ -public class CigarUtilTest { +public class CigarUtilTest extends HtsjdkTest { @Test(dataProvider="clipData") public void basicTest(final String testName, final int start, final String inputCigar, final boolean negativeStrand, diff --git a/src/test/java/htsjdk/samtools/util/CloseableIteratorTest.java b/src/test/java/htsjdk/samtools/util/CloseableIteratorTest.java index b96d1f67c..102b82436 100644 --- a/src/test/java/htsjdk/samtools/util/CloseableIteratorTest.java +++ b/src/test/java/htsjdk/samtools/util/CloseableIteratorTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -8,7 +9,7 @@ import java.util.List; import java.util.stream.Collectors; -public class CloseableIteratorTest { +public class CloseableIteratorTest extends HtsjdkTest { @Test public void testToList() { final List expected = Arrays.asList(1,2,3,4,5); diff --git a/src/test/java/htsjdk/samtools/util/CodeUtilTest.java b/src/test/java/htsjdk/samtools/util/CodeUtilTest.java index e8b9957d2..c4978c196 100644 --- a/src/test/java/htsjdk/samtools/util/CodeUtilTest.java +++ b/src/test/java/htsjdk/samtools/util/CodeUtilTest.java @@ -1,9 +1,10 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; -public class CodeUtilTest { +public class CodeUtilTest extends HtsjdkTest { @Test public void getOrElseTest() { diff --git a/src/test/java/htsjdk/samtools/util/ComparableTupleTest.java b/src/test/java/htsjdk/samtools/util/ComparableTupleTest.java index 7e8b082a5..708058d70 100644 --- a/src/test/java/htsjdk/samtools/util/ComparableTupleTest.java +++ b/src/test/java/htsjdk/samtools/util/ComparableTupleTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import htsjdk.variant.variantcontext.Allele; import org.testng.Assert; import org.testng.annotations.DataProvider; @@ -8,7 +9,7 @@ /** * Created by farjoun on 1/28/16. */ -public class ComparableTupleTest { +public class ComparableTupleTest extends HtsjdkTest { private enum Tenum { Hi, diff --git a/src/test/java/htsjdk/samtools/util/CoordSpanInputSteamTest.java b/src/test/java/htsjdk/samtools/util/CoordSpanInputSteamTest.java index 1b9088220..07de15873 100644 --- a/src/test/java/htsjdk/samtools/util/CoordSpanInputSteamTest.java +++ b/src/test/java/htsjdk/samtools/util/CoordSpanInputSteamTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import htsjdk.samtools.seekablestream.ByteArraySeekableStream; import org.testng.Assert; import org.testng.annotations.Test; @@ -15,7 +16,7 @@ /** * Created by vadim on 25/03/2015. */ -public class CoordSpanInputSteamTest { +public class CoordSpanInputSteamTest extends HtsjdkTest { @Test public void test_first_3_bytes() throws IOException { diff --git a/src/test/java/htsjdk/samtools/util/DateParserTest.java b/src/test/java/htsjdk/samtools/util/DateParserTest.java index 04cfa7819..11ab2a6f8 100644 --- a/src/test/java/htsjdk/samtools/util/DateParserTest.java +++ b/src/test/java/htsjdk/samtools/util/DateParserTest.java @@ -72,6 +72,7 @@ This W3C work (including software, documents, or other related items) is package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -88,7 +89,7 @@ This W3C work (including software, documents, or other related items) is * @author bmahe@w3.org */ -public class DateParserTest { +public class DateParserTest extends HtsjdkTest { private static void test(final String isodate) { Date date = DateParser.parse(isodate); @@ -147,4 +148,4 @@ public static void assertDatesAreClose(final Date lhs, final Date rhs) { Assert.assertEquals(lhs.getSeconds(), rhs.getSeconds()); Assert.assertEquals(lhs.getTimezoneOffset(), rhs.getTimezoneOffset()); } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/samtools/util/EdgingRecordAndOffsetTest.java b/src/test/java/htsjdk/samtools/util/EdgingRecordAndOffsetTest.java index a4f6478b4..eeca090d7 100644 --- a/src/test/java/htsjdk/samtools/util/EdgingRecordAndOffsetTest.java +++ b/src/test/java/htsjdk/samtools/util/EdgingRecordAndOffsetTest.java @@ -24,6 +24,7 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMRecord; import org.testng.annotations.BeforeTest; @@ -39,7 +40,7 @@ * */ -public class EdgingRecordAndOffsetTest { +public class EdgingRecordAndOffsetTest extends HtsjdkTest { private final byte[] qualities = {30, 50, 50, 60, 60, 70 ,70, 70, 80, 90}; private final byte[] bases = {'A', 'C', 'G', 'T', 'A', 'C', 'G', 'T', 'T', 'C'}; private SAMRecord record; diff --git a/src/test/java/htsjdk/samtools/util/HistogramTest.java b/src/test/java/htsjdk/samtools/util/HistogramTest.java index 62b1441ac..ef4446958 100644 --- a/src/test/java/htsjdk/samtools/util/HistogramTest.java +++ b/src/test/java/htsjdk/samtools/util/HistogramTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -12,7 +13,7 @@ import static java.lang.Math.abs; import static java.lang.StrictMath.pow; -public class HistogramTest { +public class HistogramTest extends HtsjdkTest { @Test(dataProvider = "histogramData") public void testHistogramFunctions(final int[] values, final double mean, final double stdev, final Integer trimByWidth) { diff --git a/src/test/java/htsjdk/samtools/util/IntervalListTest.java b/src/test/java/htsjdk/samtools/util/IntervalListTest.java index 3d919e881..613afde45 100644 --- a/src/test/java/htsjdk/samtools/util/IntervalListTest.java +++ b/src/test/java/htsjdk/samtools/util/IntervalListTest.java @@ -24,6 +24,7 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMSequenceRecord; import htsjdk.variant.vcf.VCFFileReader; @@ -45,7 +46,7 @@ /** * Tests the IntervalList class */ -public class IntervalListTest { +public class IntervalListTest extends HtsjdkTest { final SAMFileHeader fileHeader; final IntervalList list1, list2, list3; diff --git a/src/test/java/htsjdk/samtools/util/IntervalTreeMapTest.java b/src/test/java/htsjdk/samtools/util/IntervalTreeMapTest.java index 533f9652e..5e975f917 100644 --- a/src/test/java/htsjdk/samtools/util/IntervalTreeMapTest.java +++ b/src/test/java/htsjdk/samtools/util/IntervalTreeMapTest.java @@ -23,12 +23,13 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; import java.util.Iterator; -public class IntervalTreeMapTest { +public class IntervalTreeMapTest extends HtsjdkTest { @Test public void testBasic() { IntervalTreeMap m=new IntervalTreeMap(); diff --git a/src/test/java/htsjdk/samtools/util/IntervalTreeTest.java b/src/test/java/htsjdk/samtools/util/IntervalTreeTest.java index 34cb3c5be..dcd225ec0 100644 --- a/src/test/java/htsjdk/samtools/util/IntervalTreeTest.java +++ b/src/test/java/htsjdk/samtools/util/IntervalTreeTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.BeforeMethod; import org.testng.annotations.DataProvider; @@ -36,7 +37,7 @@ * @author alecw@broadinstitute.org */ @Test(singleThreaded=true) // to assure that the common resources aren't clobbered -public class IntervalTreeTest { +public class IntervalTreeTest extends HtsjdkTest { @Test public void testNoMatches() { diff --git a/src/test/java/htsjdk/samtools/util/IoUtilTest.java b/src/test/java/htsjdk/samtools/util/IoUtilTest.java index 0e4cd7a1c..645d20d42 100644 --- a/src/test/java/htsjdk/samtools/util/IoUtilTest.java +++ b/src/test/java/htsjdk/samtools/util/IoUtilTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.DataProvider; @@ -41,7 +42,7 @@ import java.util.Arrays; import java.util.List; -public class IoUtilTest { +public class IoUtilTest extends HtsjdkTest { private static final File SLURP_TEST_FILE = new File("src/test/resources/htsjdk/samtools/io/slurptest.txt"); private static final File EMPTY_FILE = new File("src/test/resources/htsjdk/samtools/io/empty.txt"); diff --git a/src/test/java/htsjdk/samtools/util/Iso8601DateTest.java b/src/test/java/htsjdk/samtools/util/Iso8601DateTest.java index ce0ae08c1..93b9d6544 100644 --- a/src/test/java/htsjdk/samtools/util/Iso8601DateTest.java +++ b/src/test/java/htsjdk/samtools/util/Iso8601DateTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -31,7 +32,7 @@ /** * @author alecw@broadinstitute.org */ -public class Iso8601DateTest { +public class Iso8601DateTest extends HtsjdkTest { @Test public void testBasic() { final String dateStr = "2008-12-15"; diff --git a/src/test/java/htsjdk/samtools/util/IupacTest.java b/src/test/java/htsjdk/samtools/util/IupacTest.java index 64b78c003..86b0a410e 100644 --- a/src/test/java/htsjdk/samtools/util/IupacTest.java +++ b/src/test/java/htsjdk/samtools/util/IupacTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import htsjdk.samtools.BamFileIoUtils; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMFileWriter; @@ -38,7 +39,7 @@ import java.io.File; import java.util.Arrays; -public class IupacTest { +public class IupacTest extends HtsjdkTest { @Test(dataProvider = "basicDataProvider") public void basic(final String tempFileExtension) throws Exception { final File outputFile = File.createTempFile("iupacTest.", tempFileExtension); diff --git a/src/test/java/htsjdk/samtools/util/MergingIteratorTest.java b/src/test/java/htsjdk/samtools/util/MergingIteratorTest.java index d36bb6d3b..e5964acf7 100644 --- a/src/test/java/htsjdk/samtools/util/MergingIteratorTest.java +++ b/src/test/java/htsjdk/samtools/util/MergingIteratorTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -34,7 +35,7 @@ import java.util.LinkedList; import java.util.Queue; -public class MergingIteratorTest { +public class MergingIteratorTest extends HtsjdkTest { private static class QueueBackedIterator implements CloseableIterator { diff --git a/src/test/java/htsjdk/samtools/util/OverlapDetectorTest.java b/src/test/java/htsjdk/samtools/util/OverlapDetectorTest.java index ecde96560..d8adf2e2d 100644 --- a/src/test/java/htsjdk/samtools/util/OverlapDetectorTest.java +++ b/src/test/java/htsjdk/samtools/util/OverlapDetectorTest.java @@ -1,12 +1,13 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import java.util.*; -public class OverlapDetectorTest { +public class OverlapDetectorTest extends HtsjdkTest { @DataProvider(name="intervalsMultipleContigs") public Object[][] intervalsMultipleContigs(){ diff --git a/src/test/java/htsjdk/samtools/util/PositionalOutputStreamTest.java b/src/test/java/htsjdk/samtools/util/PositionalOutputStreamTest.java index af2acf59e..939c74858 100644 --- a/src/test/java/htsjdk/samtools/util/PositionalOutputStreamTest.java +++ b/src/test/java/htsjdk/samtools/util/PositionalOutputStreamTest.java @@ -24,6 +24,7 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -33,7 +34,7 @@ /** * @author Daniel Gomez-Sanchez (magicDGS) */ -public class PositionalOutputStreamTest { +public class PositionalOutputStreamTest extends HtsjdkTest { @Test public void basicPositionTest() throws Exception { @@ -59,4 +60,4 @@ public void write(int b) throws IOException {} Assert.assertEquals(wrapped.getPosition(), position); } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/samtools/util/QualityEncodingDetectorTest.java b/src/test/java/htsjdk/samtools/util/QualityEncodingDetectorTest.java index 9e014d7b7..071312d9b 100644 --- a/src/test/java/htsjdk/samtools/util/QualityEncodingDetectorTest.java +++ b/src/test/java/htsjdk/samtools/util/QualityEncodingDetectorTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMException; import htsjdk.samtools.SAMRecordSetBuilder; import htsjdk.samtools.SamReader; @@ -13,7 +14,7 @@ import java.util.Arrays; import java.util.List; -public class QualityEncodingDetectorTest { +public class QualityEncodingDetectorTest extends HtsjdkTest { private static class Testcase { private final File f; diff --git a/src/test/java/htsjdk/samtools/util/RelativeIso8601DateTest.java b/src/test/java/htsjdk/samtools/util/RelativeIso8601DateTest.java index e4e9ef993..0e0c9b265 100644 --- a/src/test/java/htsjdk/samtools/util/RelativeIso8601DateTest.java +++ b/src/test/java/htsjdk/samtools/util/RelativeIso8601DateTest.java @@ -1,5 +1,6 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -9,7 +10,7 @@ /** @author mccowan */ -public class RelativeIso8601DateTest { +public class RelativeIso8601DateTest extends HtsjdkTest { // 1 second resolution is ISO date private final static double DELTA_FOR_TIME = 1000; diff --git a/src/test/java/htsjdk/samtools/util/SequenceUtilTest.java b/src/test/java/htsjdk/samtools/util/SequenceUtilTest.java index 7c96b742d..e57b8fd08 100644 --- a/src/test/java/htsjdk/samtools/util/SequenceUtilTest.java +++ b/src/test/java/htsjdk/samtools/util/SequenceUtilTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import htsjdk.samtools.*; import htsjdk.samtools.reference.ReferenceSequenceFile; import htsjdk.samtools.reference.ReferenceSequenceFileFactory; @@ -36,7 +37,7 @@ /** * @author alecw@broadinstitute.org */ -public class SequenceUtilTest { +public class SequenceUtilTest extends HtsjdkTest { private static final String HEADER = "@HD\tVN:1.0\tSO:unsorted\n"; private static final String SEQUENCE_NAME= "@SQ\tSN:phix174.seq\tLN:5386\tUR:/seq/references/PhiX174/v0/PhiX174.fasta\tAS:PhiX174\tM5:3332ed720ac7eaa9b3655c06f6b9e196"; diff --git a/src/test/java/htsjdk/samtools/util/SolexaQualityConverterTest.java b/src/test/java/htsjdk/samtools/util/SolexaQualityConverterTest.java index 09cc82902..1e4e1464a 100644 --- a/src/test/java/htsjdk/samtools/util/SolexaQualityConverterTest.java +++ b/src/test/java/htsjdk/samtools/util/SolexaQualityConverterTest.java @@ -1,12 +1,13 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import java.util.Arrays; -public class SolexaQualityConverterTest { +public class SolexaQualityConverterTest extends HtsjdkTest { //declared as a staic variable because we reuse it in IlluminaUtilTest public static Object[][] SOLEXA_QUALS_TO_PHRED_SCORE = new Object[][] { new Object[]{new byte[]{}, new byte[]{}}, diff --git a/src/test/java/htsjdk/samtools/util/SortingCollectionTest.java b/src/test/java/htsjdk/samtools/util/SortingCollectionTest.java index dc9e063cd..29f012084 100644 --- a/src/test/java/htsjdk/samtools/util/SortingCollectionTest.java +++ b/src/test/java/htsjdk/samtools/util/SortingCollectionTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.AfterMethod; import org.testng.annotations.AfterTest; @@ -41,7 +42,7 @@ import java.util.Iterator; import java.util.Random; -public class SortingCollectionTest { +public class SortingCollectionTest extends HtsjdkTest { // Create a separate directory for files so it is possible to confirm that the directory is emptied protected File tmpDir() { return new File(System.getProperty("java.io.tmpdir") + "/" + System.getProperty("user.name"), getClass().getSimpleName()); diff --git a/src/test/java/htsjdk/samtools/util/SortingLongCollectionTest.java b/src/test/java/htsjdk/samtools/util/SortingLongCollectionTest.java index 4817ef5b1..bcfa77e9c 100644 --- a/src/test/java/htsjdk/samtools/util/SortingLongCollectionTest.java +++ b/src/test/java/htsjdk/samtools/util/SortingLongCollectionTest.java @@ -23,6 +23,7 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; @@ -36,7 +37,7 @@ /** * @author alecw@broadinstitute.org */ -public class SortingLongCollectionTest { +public class SortingLongCollectionTest extends HtsjdkTest { // Create a separate directory for files so it is possible to confirm that the directory is emptied private final File tmpDir = new File(System.getProperty("java.io.tmpdir") + "/" + System.getProperty("user.name"), "SortingCollectionTest"); diff --git a/src/test/java/htsjdk/samtools/util/StringLineReaderTest.java b/src/test/java/htsjdk/samtools/util/StringLineReaderTest.java index 9919f891b..f90565024 100644 --- a/src/test/java/htsjdk/samtools/util/StringLineReaderTest.java +++ b/src/test/java/htsjdk/samtools/util/StringLineReaderTest.java @@ -23,10 +23,11 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; -public class StringLineReaderTest { +public class StringLineReaderTest extends HtsjdkTest { private static final String[] TERMINATORS = {"\r", "\n", "\r\n"}; private static final boolean[] LAST_LINE_TERMINATED = {false, true}; diff --git a/src/test/java/htsjdk/samtools/util/StringUtilTest.java b/src/test/java/htsjdk/samtools/util/StringUtilTest.java deleted file mode 100644 index dbb2a0709..000000000 --- a/src/test/java/htsjdk/samtools/util/StringUtilTest.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * The MIT License - * - * Copyright (c) 2009 The Broad Institute - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -package htsjdk.samtools.util; - -import org.testng.Assert; -import org.testng.annotations.DataProvider; -import org.testng.annotations.Test; - -/** - * @author alecw@broadinstitute.org - */ -public class StringUtilTest { - @Test(dataProvider = "provider") - public void testSplit(final String input, final String[] expectedResult, final boolean concatenateExcess) { - String[] ret = new String[expectedResult.length]; - int tokensExpected; - for (tokensExpected = 0; tokensExpected < expectedResult.length && expectedResult[tokensExpected] != null; - ++tokensExpected) { - } - final int tokensFound; - if (concatenateExcess) { - tokensFound = StringUtil.splitConcatenateExcessTokens(input, ret, ':'); - } else { - tokensFound = StringUtil.split(input, ret, ':'); - } - Assert.assertEquals(tokensFound, tokensExpected); - Assert.assertEquals(ret, expectedResult); - } - - @DataProvider(name="provider") - public Object[][] splitScenarios() { - return new Object[][] { - {"A:BB:C", new String[]{"A", "BB", "C"}, false}, - {"A:BB:C", new String[]{"A", "BB", "C"}, true}, - {"A:BB", new String[]{"A", "BB", null}, false}, - {"A:BB", new String[]{"A", "BB", null}, true}, - {"A:BB:", new String[]{"A", "BB", null}, false}, - {"A:BB:", new String[]{"A", "BB", null}, true}, - {"A:BB:C:DDD", new String[]{"A", "BB", "C"}, false}, - {"A:BB:C:DDD", new String[]{"A", "BB", "C:DDD"}, true}, - {"A:", new String[]{"A", null, null}, false}, - {"A:", new String[]{"A", null, null}, true}, - {"A", new String[]{"A", null, null}, false}, - {"A", new String[]{"A", null, null}, true}, - {"A:BB:C", new String[]{"A", "BB", "C"}, false}, - {"A:BB:C:", new String[]{"A", "BB", "C:"}, true}, - }; - } - - @DataProvider(name="withinHammingDistanceProvider") - public Object[][] isWithinHammingDistanceProvider() { - return new Object[][] { - {"ATAC", "GCAT", 3, true}, - {"ATAC", "GCAT", 2, false}, - {"ATAC", "GCAT", 1, false}, - {"ATAC", "GCAT", 0, false} - }; - } - - @Test(dataProvider = "withinHammingDistanceProvider") - public void testIsWithinHammingDistance(final String s1, final String s2, final int maxHammingDistance, final boolean expectedResult) { - Assert.assertEquals(StringUtil.isWithinHammingDistance(s1, s2, maxHammingDistance), expectedResult); - } - - @DataProvider(name="withinHammingDistanceExceptionProvider") - public Object[][] isWithinHammingDistanceException() { - return new Object[][] { - {"ATAC", "GCT" , 3}, - {"ATAC", "AT" , 2}, - {"ATAC", "T" , 1}, - {"" , "GCAT", 0} - }; - } - - @Test(dataProvider = "withinHammingDistanceExceptionProvider", expectedExceptions = IllegalArgumentException.class) - public void testIsWithinHammingDistanceExceptions(final String s1, final String s2, final int maxHammingDistance) { - StringUtil.isWithinHammingDistance(s1, s2, maxHammingDistance); - } - - @Test(dataProvider = "withinHammingDistanceExceptionProvider", expectedExceptions = IllegalArgumentException.class) - public void testHammingDistanceExceptions(final String s1, final String s2, final int maxHammingDistance) { - StringUtil.hammingDistance(s1, s2); - } - - @DataProvider(name="hammingDistanceProvider") - public Object[][] hammingDistance() { - return new Object[][] { - {"ATAC" , "GCAT" , 3}, - {"ATAGC", "ATAGC", 0}, - {"ATAC" , "atac" , 4}, // Hamming distance is case sensitive. - {"" , "" , 0}, // Two empty strings should have Hamming distance of 0. - {"nAGTN", "nAGTN", 0} // Ensure that matching Ns are not counted as mismatches. - }; - } - - @Test(dataProvider = "hammingDistanceProvider") - public void testHammingDistance(final String s1, final String s2, final int expectedResult) { - Assert.assertEquals(StringUtil.hammingDistance(s1, s2), expectedResult); - } - -} diff --git a/src/test/java/htsjdk/samtools/util/TrimmingUtilTest.java b/src/test/java/htsjdk/samtools/util/TrimmingUtilTest.java index 12cffc671..811083976 100644 --- a/src/test/java/htsjdk/samtools/util/TrimmingUtilTest.java +++ b/src/test/java/htsjdk/samtools/util/TrimmingUtilTest.java @@ -23,13 +23,14 @@ */ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; /** * Tests for a simple phred-style quality trimming algorithm. */ -public class TrimmingUtilTest { +public class TrimmingUtilTest extends HtsjdkTest { @Test public void testEasyCases() { Assert.assertEquals(TrimmingUtil.findQualityTrimPoint(byteArray(30,30,30,30,30, 2, 2, 2, 2, 2), 15), 5); diff --git a/src/test/java/htsjdk/samtools/util/TupleTest.java b/src/test/java/htsjdk/samtools/util/TupleTest.java index bed4550f1..431466ddf 100644 --- a/src/test/java/htsjdk/samtools/util/TupleTest.java +++ b/src/test/java/htsjdk/samtools/util/TupleTest.java @@ -1,12 +1,13 @@ package htsjdk.samtools.util; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.Test; /** * Created by farjoun on 1/29/16. */ -public class TupleTest { +public class TupleTest extends HtsjdkTest { @Test public void testEquals() throws Exception { @@ -59,4 +60,4 @@ public void testToString() throws Exception { Assert.assertEquals(new Tuple<>(null, null).toString(), "[null, null]"); } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/tribble/AbstractFeatureReaderTest.java b/src/test/java/htsjdk/tribble/AbstractFeatureReaderTest.java index da0f84301..947d319fe 100644 --- a/src/test/java/htsjdk/tribble/AbstractFeatureReaderTest.java +++ b/src/test/java/htsjdk/tribble/AbstractFeatureReaderTest.java @@ -2,6 +2,7 @@ import com.google.common.jimfs.Configuration; import com.google.common.jimfs.Jimfs; +import htsjdk.HtsjdkTest; import htsjdk.samtools.FileTruncatedException; import htsjdk.samtools.util.TestUtil; import htsjdk.tribble.bed.BEDCodec; @@ -29,7 +30,7 @@ * @author jacob * @date 2013-Apr-10 */ -public class AbstractFeatureReaderTest { +public class AbstractFeatureReaderTest extends HtsjdkTest { final static String HTTP_INDEXED_VCF_PATH = TestUtil.BASE_URL_FOR_HTTP_TESTS + "ex2.vcf"; final static String LOCAL_MIRROR_HTTP_INDEXED_VCF_PATH = VariantBaseTest.variantTestDataRoot + "ex2.vcf"; diff --git a/src/test/java/htsjdk/tribble/BinaryFeaturesTest.java b/src/test/java/htsjdk/tribble/BinaryFeaturesTest.java index eff8939d8..eac19742a 100644 --- a/src/test/java/htsjdk/tribble/BinaryFeaturesTest.java +++ b/src/test/java/htsjdk/tribble/BinaryFeaturesTest.java @@ -1,5 +1,6 @@ package htsjdk.tribble; +import htsjdk.HtsjdkTest; import htsjdk.tribble.bed.BEDCodec; import htsjdk.tribble.example.ExampleBinaryCodec; import htsjdk.tribble.readers.LineIterator; @@ -13,7 +14,7 @@ import java.util.List; -public class BinaryFeaturesTest { +public class BinaryFeaturesTest extends HtsjdkTest { @DataProvider(name = "BinaryFeatureSources") public Object[][] createData1() { return new Object[][] { diff --git a/src/test/java/htsjdk/tribble/FeatureReaderTest.java b/src/test/java/htsjdk/tribble/FeatureReaderTest.java index d62693c19..f43b5b15d 100644 --- a/src/test/java/htsjdk/tribble/FeatureReaderTest.java +++ b/src/test/java/htsjdk/tribble/FeatureReaderTest.java @@ -1,5 +1,6 @@ package htsjdk.tribble; +import htsjdk.HtsjdkTest; import htsjdk.samtools.seekablestream.SeekableFileStream; import htsjdk.samtools.util.CloserUtil; import htsjdk.samtools.util.LocationAware; @@ -22,7 +23,7 @@ import java.util.List; -public class FeatureReaderTest { +public class FeatureReaderTest extends HtsjdkTest { private final static File asciiBedFile = new File(TestUtils.DATA_DIR + "test.bed"); private File binaryBedFile; private final static File tabixBedFile = new File(TestUtils.DATA_DIR + "test.tabix.bed.gz"); diff --git a/src/test/java/htsjdk/tribble/TribbleIndexFeatureReaderTest.java b/src/test/java/htsjdk/tribble/TribbleIndexFeatureReaderTest.java index 0223d41cd..37a5295dc 100644 --- a/src/test/java/htsjdk/tribble/TribbleIndexFeatureReaderTest.java +++ b/src/test/java/htsjdk/tribble/TribbleIndexFeatureReaderTest.java @@ -1,7 +1,7 @@ package htsjdk.tribble; +import htsjdk.HtsjdkTest; import htsjdk.tribble.readers.LineIterator; -import htsjdk.tribble.TestUtils; import htsjdk.variant.variantcontext.VariantContext; import htsjdk.variant.vcf.VCFCodec; import org.testng.Assert; @@ -9,12 +9,9 @@ import org.testng.annotations.Test; import java.io.IOException; -import java.net.URISyntaxException; -import static org.testng.Assert.assertEquals; - -public class TribbleIndexFeatureReaderTest { +public class TribbleIndexFeatureReaderTest extends HtsjdkTest { @DataProvider(name = "featureFileStrings") public Object[][] createFeatureFileStrings() { diff --git a/src/test/java/htsjdk/tribble/TribbleTest.java b/src/test/java/htsjdk/tribble/TribbleTest.java index e8366c4b0..3874c7f71 100644 --- a/src/test/java/htsjdk/tribble/TribbleTest.java +++ b/src/test/java/htsjdk/tribble/TribbleTest.java @@ -1,5 +1,6 @@ package htsjdk.tribble; +import htsjdk.HtsjdkTest; import htsjdk.tribble.util.TabixUtils; import org.testng.Assert; import org.testng.annotations.Test; @@ -7,7 +8,7 @@ import java.io.File; -public class TribbleTest { +public class TribbleTest extends HtsjdkTest { @Test public void testStandardIndex() { diff --git a/src/test/java/htsjdk/tribble/bed/BEDCodecTest.java b/src/test/java/htsjdk/tribble/bed/BEDCodecTest.java index dbf23a0e5..cc0255b62 100644 --- a/src/test/java/htsjdk/tribble/bed/BEDCodecTest.java +++ b/src/test/java/htsjdk/tribble/bed/BEDCodecTest.java @@ -24,6 +24,7 @@ package htsjdk.tribble.bed; +import htsjdk.HtsjdkTest; import htsjdk.tribble.AbstractFeatureReader; import htsjdk.tribble.Feature; import htsjdk.tribble.TestUtils; @@ -43,7 +44,7 @@ import java.io.IOException; import java.util.List; -public class BEDCodecTest { +public class BEDCodecTest extends HtsjdkTest { @Test public void testSimpleDecode() { diff --git a/src/test/java/htsjdk/tribble/index/IndexFactoryTest.java b/src/test/java/htsjdk/tribble/index/IndexFactoryTest.java index 016049f32..964a3c3d6 100644 --- a/src/test/java/htsjdk/tribble/index/IndexFactoryTest.java +++ b/src/test/java/htsjdk/tribble/index/IndexFactoryTest.java @@ -23,16 +23,14 @@ */ package htsjdk.tribble.index; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMSequenceDictionary; import htsjdk.samtools.SAMSequenceRecord; -import htsjdk.samtools.util.IOUtil; import htsjdk.tribble.TestUtils; import htsjdk.tribble.TribbleException; import htsjdk.tribble.bed.BEDCodec; -import htsjdk.tribble.index.linear.LinearIndex; import htsjdk.tribble.index.tabix.TabixFormat; import htsjdk.tribble.index.tabix.TabixIndex; -import htsjdk.tribble.util.LittleEndianOutputStream; import htsjdk.variant.vcf.VCFCodec; import htsjdk.variant.vcf.VCFFileReader; import org.testng.Assert; @@ -40,15 +38,13 @@ import org.testng.annotations.Test; import java.io.File; -import java.io.IOException; -import java.io.OutputStream; import java.util.List; /** * User: jacob * Date: 2012-Aug-23 */ -public class IndexFactoryTest { +public class IndexFactoryTest extends HtsjdkTest { final File sortedBedFile = new File(TestUtils.DATA_DIR + "bed/Unigene.sample.bed"); final File unsortedBedFile = new File(TestUtils.DATA_DIR + "bed/unsorted.bed"); diff --git a/src/test/java/htsjdk/tribble/index/IndexTest.java b/src/test/java/htsjdk/tribble/index/IndexTest.java index 56200e672..06fb311a5 100644 --- a/src/test/java/htsjdk/tribble/index/IndexTest.java +++ b/src/test/java/htsjdk/tribble/index/IndexTest.java @@ -2,15 +2,13 @@ import com.google.common.jimfs.Configuration; import com.google.common.jimfs.Jimfs; -import htsjdk.samtools.util.IOUtil; -import htsjdk.tribble.AbstractFeatureReader; +import htsjdk.HtsjdkTest; import htsjdk.tribble.FeatureCodec; import htsjdk.tribble.TestUtils; import htsjdk.tribble.Tribble; import htsjdk.tribble.bed.BEDCodec; import htsjdk.tribble.index.interval.IntervalTreeIndex; import htsjdk.tribble.index.linear.LinearIndex; -import htsjdk.tribble.index.tabix.TabixFormat; import htsjdk.tribble.index.tabix.TabixIndex; import htsjdk.tribble.util.LittleEndianOutputStream; import htsjdk.tribble.util.TabixUtils; @@ -22,16 +20,13 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; -import java.net.URISyntaxException; import java.nio.file.FileSystem; -import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; -public class IndexTest { +public class IndexTest extends HtsjdkTest { private final static String CHR = "1"; private final static File MassiveIndexFile = new File(TestUtils.DATA_DIR + "Tb.vcf.idx"); diff --git a/src/test/java/htsjdk/tribble/index/interval/IntervalTreeTest.java b/src/test/java/htsjdk/tribble/index/interval/IntervalTreeTest.java index ca4708933..9a8a0a68e 100644 --- a/src/test/java/htsjdk/tribble/index/interval/IntervalTreeTest.java +++ b/src/test/java/htsjdk/tribble/index/interval/IntervalTreeTest.java @@ -18,6 +18,7 @@ package htsjdk.tribble.index.interval; +import htsjdk.HtsjdkTest; import htsjdk.tribble.AbstractFeatureReader; import htsjdk.tribble.CloseableTribbleIterator; import htsjdk.tribble.FeatureReader; @@ -42,7 +43,7 @@ * User: jrobinso * Date: Mar 24, 2010 */ -public class IntervalTreeTest { +public class IntervalTreeTest extends HtsjdkTest { static IntervalTree tree; diff --git a/src/test/java/htsjdk/tribble/index/linear/LinearIndexTest.java b/src/test/java/htsjdk/tribble/index/linear/LinearIndexTest.java index 09f920e41..e20dc1589 100644 --- a/src/test/java/htsjdk/tribble/index/linear/LinearIndexTest.java +++ b/src/test/java/htsjdk/tribble/index/linear/LinearIndexTest.java @@ -18,6 +18,7 @@ package htsjdk.tribble.index.linear; +import htsjdk.HtsjdkTest; import htsjdk.tribble.AbstractFeatureReader; import htsjdk.tribble.CloseableTribbleIterator; import htsjdk.tribble.FeatureReader; @@ -38,7 +39,7 @@ import java.util.List; import java.util.Set; -public class LinearIndexTest { +public class LinearIndexTest extends HtsjdkTest { private static final File RANDOM_FILE = new File("notMeaningful"); private final static Block CHR1_B1 = new Block(1, 10); diff --git a/src/test/java/htsjdk/tribble/index/tabix/TabixIndexTest.java b/src/test/java/htsjdk/tribble/index/tabix/TabixIndexTest.java index 6981b8751..0473a3d90 100644 --- a/src/test/java/htsjdk/tribble/index/tabix/TabixIndexTest.java +++ b/src/test/java/htsjdk/tribble/index/tabix/TabixIndexTest.java @@ -23,6 +23,7 @@ */ package htsjdk.tribble.index.tabix; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.BlockCompressedOutputStream; import htsjdk.tribble.index.IndexFactory; import htsjdk.tribble.util.LittleEndianOutputStream; @@ -40,7 +41,7 @@ import java.io.IOException; import java.util.Iterator; -public class TabixIndexTest { +public class TabixIndexTest extends HtsjdkTest { private static final File SMALL_TABIX_FILE = new File("src/test/resources/htsjdk/tribble/tabix/trioDup.vcf.gz.tbi"); private static final File BIGGER_TABIX_FILE = new File("src/test/resources/htsjdk/tribble/tabix/bigger.vcf.gz.tbi"); diff --git a/src/test/java/htsjdk/tribble/readers/AsciiLineReaderTest.java b/src/test/java/htsjdk/tribble/readers/AsciiLineReaderTest.java index 822f6cf6a..b4aa6ba2c 100644 --- a/src/test/java/htsjdk/tribble/readers/AsciiLineReaderTest.java +++ b/src/test/java/htsjdk/tribble/readers/AsciiLineReaderTest.java @@ -1,5 +1,6 @@ package htsjdk.tribble.readers; +import htsjdk.HtsjdkTest; import htsjdk.tribble.TestUtils; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; @@ -15,17 +16,7 @@ * User: jacob * Date: 2012/05/09 */ -public class AsciiLineReaderTest { - @BeforeMethod - public void setUp() throws Exception { - - } - - @AfterMethod - public void tearDown() throws Exception { - - } - +public class AsciiLineReaderTest extends HtsjdkTest { /** * Test that we read the correct number of lines * from a file diff --git a/src/test/java/htsjdk/tribble/readers/LongLineBufferedReaderTest.java b/src/test/java/htsjdk/tribble/readers/LongLineBufferedReaderTest.java index 6c4c94673..3e498e17c 100644 --- a/src/test/java/htsjdk/tribble/readers/LongLineBufferedReaderTest.java +++ b/src/test/java/htsjdk/tribble/readers/LongLineBufferedReaderTest.java @@ -1,5 +1,6 @@ package htsjdk.tribble.readers; +import htsjdk.HtsjdkTest; import htsjdk.tribble.TestUtils; import org.testng.Assert; import org.testng.annotations.Test; @@ -11,7 +12,7 @@ /** * @author mccowan */ -public class LongLineBufferedReaderTest { +public class LongLineBufferedReaderTest extends HtsjdkTest { /** * Test that we read the correct number of lines diff --git a/src/test/java/htsjdk/tribble/readers/PositionalBufferedStreamTest.java b/src/test/java/htsjdk/tribble/readers/PositionalBufferedStreamTest.java index 3dd7cf38e..8d9db2a7b 100644 --- a/src/test/java/htsjdk/tribble/readers/PositionalBufferedStreamTest.java +++ b/src/test/java/htsjdk/tribble/readers/PositionalBufferedStreamTest.java @@ -1,5 +1,6 @@ package htsjdk.tribble.readers; +import htsjdk.HtsjdkTest; import htsjdk.tribble.TestUtils; import org.testng.Assert; import org.testng.annotations.AfterMethod; @@ -20,7 +21,7 @@ * User: jacob * Date: 2012/05/09 */ -public class PositionalBufferedStreamTest { +public class PositionalBufferedStreamTest extends HtsjdkTest { InputStream FileIs; long expectedBytes; diff --git a/src/test/java/htsjdk/tribble/readers/ReaderTest.java b/src/test/java/htsjdk/tribble/readers/ReaderTest.java index d700e041b..7ac1d5787 100644 --- a/src/test/java/htsjdk/tribble/readers/ReaderTest.java +++ b/src/test/java/htsjdk/tribble/readers/ReaderTest.java @@ -1,6 +1,7 @@ package htsjdk.tribble.readers; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; @@ -18,7 +19,7 @@ /** * Tests for streams and readers */ -public class ReaderTest { +public class ReaderTest extends HtsjdkTest { @BeforeClass public void setup() throws IOException { } diff --git a/src/test/java/htsjdk/tribble/readers/SynchronousLineReaderUnitTest.java b/src/test/java/htsjdk/tribble/readers/SynchronousLineReaderUnitTest.java index fbb5d188a..0c0deab41 100644 --- a/src/test/java/htsjdk/tribble/readers/SynchronousLineReaderUnitTest.java +++ b/src/test/java/htsjdk/tribble/readers/SynchronousLineReaderUnitTest.java @@ -1,5 +1,6 @@ package htsjdk.tribble.readers; +import htsjdk.HtsjdkTest; import htsjdk.tribble.TestUtils; import org.testng.Assert; import org.testng.annotations.Test; @@ -12,7 +13,7 @@ /** * @author mccowan */ -public class SynchronousLineReaderUnitTest { +public class SynchronousLineReaderUnitTest extends HtsjdkTest { @Test public void testLineReaderIterator_streamConstructor() throws Exception { final File filePath = new File(TestUtils.DATA_DIR + "gwas/smallp.gwas"); diff --git a/src/test/java/htsjdk/tribble/readers/TabixReaderTest.java b/src/test/java/htsjdk/tribble/readers/TabixReaderTest.java index d7b36dfab..3b47f417b 100644 --- a/src/test/java/htsjdk/tribble/readers/TabixReaderTest.java +++ b/src/test/java/htsjdk/tribble/readers/TabixReaderTest.java @@ -1,6 +1,7 @@ package htsjdk.tribble.readers; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.TestUtil; import htsjdk.tribble.TestUtils; import org.testng.Assert; @@ -23,7 +24,7 @@ * Time: 8:57:40 PM * To change this template use File | Settings | File Templates. */ -public class TabixReaderTest { +public class TabixReaderTest extends HtsjdkTest { static String tabixFile = TestUtils.DATA_DIR + "tabix/trioDup.vcf.gz"; static TabixReader tabixReader; diff --git a/src/test/java/htsjdk/tribble/util/ParsingUtilsTest.java b/src/test/java/htsjdk/tribble/util/ParsingUtilsTest.java index 85f414e87..c974790dd 100644 --- a/src/test/java/htsjdk/tribble/util/ParsingUtilsTest.java +++ b/src/test/java/htsjdk/tribble/util/ParsingUtilsTest.java @@ -3,20 +3,15 @@ import com.google.common.jimfs.Configuration; import com.google.common.jimfs.Jimfs; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.IOUtil; -import java.io.BufferedWriter; -import java.io.File; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.nio.file.FileSystem; -import java.nio.file.Files; -import java.nio.file.Path; import org.testng.Assert; import org.testng.annotations.Test; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; +import java.io.*; +import java.nio.file.FileSystem; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.Arrays; import java.util.List; @@ -24,7 +19,7 @@ /** * Parsing utils tests */ -public class ParsingUtilsTest { +public class ParsingUtilsTest extends HtsjdkTest { static final String AVAILABLE_FTP_URL = "ftp://ftp.broadinstitute.org/pub/igv/TEST/test.txt"; static final String UNAVAILABLE_FTP_URL = "ftp://www.example.com/file.txt"; diff --git a/src/test/java/htsjdk/tribble/util/ftp/FTPClientTest.java b/src/test/java/htsjdk/tribble/util/ftp/FTPClientTest.java index 3979b0858..6b77f913e 100644 --- a/src/test/java/htsjdk/tribble/util/ftp/FTPClientTest.java +++ b/src/test/java/htsjdk/tribble/util/ftp/FTPClientTest.java @@ -1,5 +1,6 @@ package htsjdk.tribble.util.ftp; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.ftp.FTPClient; import htsjdk.samtools.util.ftp.FTPReply; import org.testng.Assert; @@ -15,7 +16,7 @@ * @author Jim Robinson * @since 10/3/11 */ -public class FTPClientTest { +public class FTPClientTest extends HtsjdkTest { static String host = "ftp.broadinstitute.org"; static String file = "/pub/igv/TEST/test.txt"; diff --git a/src/test/java/htsjdk/tribble/util/ftp/FTPUtilsTest.java b/src/test/java/htsjdk/tribble/util/ftp/FTPUtilsTest.java index a5f3b0e58..87000ee14 100644 --- a/src/test/java/htsjdk/tribble/util/ftp/FTPUtilsTest.java +++ b/src/test/java/htsjdk/tribble/util/ftp/FTPUtilsTest.java @@ -1,5 +1,6 @@ package htsjdk.tribble.util.ftp; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.ftp.FTPUtils; import org.testng.annotations.Test; @@ -12,7 +13,7 @@ * @author Jim Robinson * @since 10/4/11 */ -public class FTPUtilsTest { +public class FTPUtilsTest extends HtsjdkTest { @Test public void testResourceAvailable() throws Exception { diff --git a/src/test/java/htsjdk/tribble/util/popgen/HardyWeinbergCalculationTest.java b/src/test/java/htsjdk/tribble/util/popgen/HardyWeinbergCalculationTest.java index fcf1bea0b..d2b54555c 100644 --- a/src/test/java/htsjdk/tribble/util/popgen/HardyWeinbergCalculationTest.java +++ b/src/test/java/htsjdk/tribble/util/popgen/HardyWeinbergCalculationTest.java @@ -1,5 +1,6 @@ package htsjdk.tribble.util.popgen; +import htsjdk.HtsjdkTest; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -7,7 +8,7 @@ /** * Created by farjoun on 7/18/14. */ -public class HardyWeinbergCalculationTest { +public class HardyWeinbergCalculationTest extends HtsjdkTest { @DataProvider public Object[][] testHwCalculateData() { diff --git a/src/test/java/htsjdk/variant/PrintVariantsExampleTest.java b/src/test/java/htsjdk/variant/PrintVariantsExampleTest.java index c82f2dbf3..9f273a94d 100644 --- a/src/test/java/htsjdk/variant/PrintVariantsExampleTest.java +++ b/src/test/java/htsjdk/variant/PrintVariantsExampleTest.java @@ -25,20 +25,19 @@ package htsjdk.variant; +import htsjdk.HtsjdkTest; import htsjdk.samtools.util.IOUtil; import htsjdk.variant.example.PrintVariantsExample; import org.testng.Assert; -import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.List; -import java.util.OptionalInt; import java.util.stream.IntStream; -public class PrintVariantsExampleTest { +public class PrintVariantsExampleTest extends HtsjdkTest { @Test public void testExampleWriteFile() throws IOException { final File tempFile = File.createTempFile("example", ".vcf"); diff --git a/src/test/java/htsjdk/variant/VariantBaseTest.java b/src/test/java/htsjdk/variant/VariantBaseTest.java index 87345a054..7a3417b52 100644 --- a/src/test/java/htsjdk/variant/VariantBaseTest.java +++ b/src/test/java/htsjdk/variant/VariantBaseTest.java @@ -25,6 +25,7 @@ package htsjdk.variant; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMSequenceDictionary; import htsjdk.samtools.SAMSequenceRecord; import htsjdk.variant.variantcontext.Genotype; @@ -44,7 +45,7 @@ /** * Base class for test classes within org.broadinstitute.variant */ -public class VariantBaseTest { +public class VariantBaseTest extends HtsjdkTest { public static final String variantTestDataRoot = new File("src/test/resources/htsjdk/variant/").getAbsolutePath() + "/"; diff --git a/src/test/java/htsjdk/variant/utils/SAMSequenceDictionaryExtractorTest.java b/src/test/java/htsjdk/variant/utils/SAMSequenceDictionaryExtractorTest.java index 9fb13e802..af3241112 100644 --- a/src/test/java/htsjdk/variant/utils/SAMSequenceDictionaryExtractorTest.java +++ b/src/test/java/htsjdk/variant/utils/SAMSequenceDictionaryExtractorTest.java @@ -23,6 +23,7 @@ */ package htsjdk.variant.utils; +import htsjdk.HtsjdkTest; import htsjdk.samtools.SAMSequenceDictionary; import htsjdk.samtools.util.SequenceUtil; import org.testng.annotations.DataProvider; @@ -34,7 +35,7 @@ /** * @author farjoun on 4/9/14. */ -public class SAMSequenceDictionaryExtractorTest { +public class SAMSequenceDictionaryExtractorTest extends HtsjdkTest { String path = "src/test/resources/htsjdk/variant/utils/SamSequenceDictionaryExtractor/"; @DataProvider(name = "testExtractDictionaries") diff --git a/src/test/java/htsjdk/variant/variantcontext/VariantContextTestProvider.java b/src/test/java/htsjdk/variant/variantcontext/VariantContextTestProvider.java index 613dec57a..b8476592e 100644 --- a/src/test/java/htsjdk/variant/variantcontext/VariantContextTestProvider.java +++ b/src/test/java/htsjdk/variant/variantcontext/VariantContextTestProvider.java @@ -25,6 +25,7 @@ package htsjdk.variant.variantcontext; +import htsjdk.HtsjdkTest; import htsjdk.tribble.FeatureCodec; import htsjdk.tribble.FeatureCodecHeader; import htsjdk.tribble.Tribble; @@ -69,7 +70,7 @@ * @author Your Name * @since Date created */ -public class VariantContextTestProvider { +public class VariantContextTestProvider extends HtsjdkTest { final private static boolean ENABLE_GENOTYPE_TESTS = true; final private static boolean ENABLE_A_AND_G_TESTS = true; final private static boolean ENABLE_VARARRAY_TESTS = true; @@ -1011,4 +1012,4 @@ public static void main( String argv[] ) { throw new RuntimeException(e); } } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/variant/variantcontext/filter/CompoundFilterTest.java b/src/test/java/htsjdk/variant/variantcontext/filter/CompoundFilterTest.java index 0a4985373..efa788efb 100644 --- a/src/test/java/htsjdk/variant/variantcontext/filter/CompoundFilterTest.java +++ b/src/test/java/htsjdk/variant/variantcontext/filter/CompoundFilterTest.java @@ -1,5 +1,6 @@ package htsjdk.variant.variantcontext.filter; +import htsjdk.HtsjdkTest; import htsjdk.variant.variantcontext.Allele; import htsjdk.variant.variantcontext.VariantContext; import htsjdk.variant.variantcontext.VariantContextBuilder; @@ -15,7 +16,7 @@ /** * Created by farjoun on 9/9/15. */ -public class CompoundFilterTest { +public class CompoundFilterTest extends HtsjdkTest { static AllPassFilter pass = new AllPassFilter(); static AllFailFilter fail = new AllFailFilter(); @@ -75,4 +76,4 @@ public void testCompoundFilter(final VariantContextFilter filter, final boolean shouldPass) { Assert.assertEquals(filter.test(vc), shouldPass, filter.toString()); } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/variant/variantcontext/filter/FilteringVariantContextIteratorTest.java b/src/test/java/htsjdk/variant/variantcontext/filter/FilteringVariantContextIteratorTest.java index d8decfdd9..eeb221378 100644 --- a/src/test/java/htsjdk/variant/variantcontext/filter/FilteringVariantContextIteratorTest.java +++ b/src/test/java/htsjdk/variant/variantcontext/filter/FilteringVariantContextIteratorTest.java @@ -24,6 +24,7 @@ package htsjdk.variant.variantcontext.filter; +import htsjdk.HtsjdkTest; import htsjdk.variant.variantcontext.VariantContext; import htsjdk.variant.vcf.VCFFileReader; import org.testng.Assert; @@ -36,7 +37,7 @@ * Tests for testing the (VariantContext)FilteringVariantContextIterator, and the HeterozygosityFilter */ -public class FilteringVariantContextIteratorTest { +public class FilteringVariantContextIteratorTest extends HtsjdkTest { final File testDir = new File("src/test/resources/htsjdk/variant"); @DataProvider diff --git a/src/test/java/htsjdk/variant/variantcontext/filter/GenotypeQualityFilterTest.java b/src/test/java/htsjdk/variant/variantcontext/filter/GenotypeQualityFilterTest.java index 809133ff3..a615f8140 100644 --- a/src/test/java/htsjdk/variant/variantcontext/filter/GenotypeQualityFilterTest.java +++ b/src/test/java/htsjdk/variant/variantcontext/filter/GenotypeQualityFilterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.variant.variantcontext.filter; +import htsjdk.HtsjdkTest; import htsjdk.variant.variantcontext.Allele; import htsjdk.variant.variantcontext.GenotypeBuilder; import htsjdk.variant.variantcontext.VariantContext; @@ -37,7 +38,7 @@ import java.util.Iterator; import java.util.List; -public class GenotypeQualityFilterTest { +public class GenotypeQualityFilterTest extends HtsjdkTest { Allele refA = Allele.create("A", true); Allele G = Allele.create("G", false); diff --git a/src/test/java/htsjdk/variant/variantcontext/filter/HeterozygosityFilterTest.java b/src/test/java/htsjdk/variant/variantcontext/filter/HeterozygosityFilterTest.java index b4cd3a84f..e2e988184 100644 --- a/src/test/java/htsjdk/variant/variantcontext/filter/HeterozygosityFilterTest.java +++ b/src/test/java/htsjdk/variant/variantcontext/filter/HeterozygosityFilterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.variant.variantcontext.filter; +import htsjdk.HtsjdkTest; import htsjdk.variant.variantcontext.Allele; import htsjdk.variant.variantcontext.GenotypeBuilder; import htsjdk.variant.variantcontext.VariantContext; @@ -37,7 +38,7 @@ import java.util.Iterator; import java.util.List; -public class HeterozygosityFilterTest { +public class HeterozygosityFilterTest extends HtsjdkTest { Allele refA = Allele.create("A", true); Allele G = Allele.create("G", false); diff --git a/src/test/java/htsjdk/variant/variantcontext/filter/JavascriptVariantFilterTest.java b/src/test/java/htsjdk/variant/variantcontext/filter/JavascriptVariantFilterTest.java index 3993b792f..7fb98c33b 100644 --- a/src/test/java/htsjdk/variant/variantcontext/filter/JavascriptVariantFilterTest.java +++ b/src/test/java/htsjdk/variant/variantcontext/filter/JavascriptVariantFilterTest.java @@ -23,6 +23,7 @@ */ package htsjdk.variant.variantcontext.filter; +import htsjdk.HtsjdkTest; import htsjdk.variant.vcf.VCFFileReader; import org.testng.Assert; @@ -36,7 +37,7 @@ * @author Pierre Lindenbaum PhD Institut du Thorax - INSERM - Nantes - France */ -public class JavascriptVariantFilterTest { +public class JavascriptVariantFilterTest extends HtsjdkTest { final File testDir = new File("src/test/resources/htsjdk/variant"); @DataProvider diff --git a/src/test/java/htsjdk/variant/variantcontext/filter/PassingVariantFilterTest.java b/src/test/java/htsjdk/variant/variantcontext/filter/PassingVariantFilterTest.java index 3cbb60ca3..da2826495 100644 --- a/src/test/java/htsjdk/variant/variantcontext/filter/PassingVariantFilterTest.java +++ b/src/test/java/htsjdk/variant/variantcontext/filter/PassingVariantFilterTest.java @@ -1,5 +1,6 @@ package htsjdk.variant.variantcontext.filter; +import htsjdk.HtsjdkTest; import htsjdk.variant.variantcontext.Allele; import htsjdk.variant.variantcontext.VariantContext; import htsjdk.variant.variantcontext.VariantContextBuilder; @@ -16,7 +17,7 @@ /** * Created by farjoun on 9/10/15. */ -public class PassingVariantFilterTest { +public class PassingVariantFilterTest extends HtsjdkTest { Allele refA = Allele.create("A", true); Allele G = Allele.create("G", false); @@ -43,4 +44,4 @@ public void testPassingVariantFilter(final VariantContext vc, final boolean shou Assert.assertEquals(passingVariantFilter.test(vc), shouldPass, vc.toString()); } -} \ No newline at end of file +} diff --git a/src/test/java/htsjdk/variant/variantcontext/filter/SnpFilterTest.java b/src/test/java/htsjdk/variant/variantcontext/filter/SnpFilterTest.java index 74f1bb5de..e091ca0b6 100644 --- a/src/test/java/htsjdk/variant/variantcontext/filter/SnpFilterTest.java +++ b/src/test/java/htsjdk/variant/variantcontext/filter/SnpFilterTest.java @@ -1,5 +1,6 @@ package htsjdk.variant.variantcontext.filter; +import htsjdk.HtsjdkTest; import htsjdk.variant.variantcontext.Allele; import htsjdk.variant.variantcontext.VariantContext; import htsjdk.variant.variantcontext.VariantContextBuilder; @@ -16,7 +17,7 @@ /** * Created by farjoun on 9/9/15. */ -public class SnpFilterTest { +public class SnpFilterTest extends HtsjdkTest { Allele refA = Allele.create("A", true); Allele refAG = Allele.create("AG", true); diff --git a/src/test/java/htsjdk/variant/variantcontext/writer/TabixOnTheFlyIndexCreationTest.java b/src/test/java/htsjdk/variant/variantcontext/writer/TabixOnTheFlyIndexCreationTest.java index 2fd1520ba..f8c8fd193 100644 --- a/src/test/java/htsjdk/variant/variantcontext/writer/TabixOnTheFlyIndexCreationTest.java +++ b/src/test/java/htsjdk/variant/variantcontext/writer/TabixOnTheFlyIndexCreationTest.java @@ -23,6 +23,7 @@ */ package htsjdk.variant.variantcontext.writer; +import htsjdk.HtsjdkTest; import htsjdk.tribble.AbstractFeatureReader; import htsjdk.tribble.CloseableTribbleIterator; import htsjdk.tribble.FeatureReader; @@ -36,7 +37,7 @@ import java.io.File; import java.util.EnumSet; -public class TabixOnTheFlyIndexCreationTest { +public class TabixOnTheFlyIndexCreationTest extends HtsjdkTest { private static final File SMALL_VCF = new File("src/test/resources/htsjdk/tribble/tabix/trioDup.vcf.gz"); @Test public void simpleTest() throws Exception { diff --git a/src/test/java/htsjdk/variant/vcf/VCFEncoderTest.java b/src/test/java/htsjdk/variant/vcf/VCFEncoderTest.java index 2c4ff0f08..6d4c23b9d 100644 --- a/src/test/java/htsjdk/variant/vcf/VCFEncoderTest.java +++ b/src/test/java/htsjdk/variant/vcf/VCFEncoderTest.java @@ -1,5 +1,6 @@ package htsjdk.variant.vcf; +import htsjdk.HtsjdkTest; import htsjdk.tribble.util.ParsingUtils; import htsjdk.variant.variantcontext.Allele; import htsjdk.variant.variantcontext.GenotypeBuilder; @@ -18,7 +19,7 @@ import java.util.Set; import java.util.TreeSet; -public class VCFEncoderTest { +public class VCFEncoderTest extends HtsjdkTest { @DataProvider(name = "VCFWriterDoubleFormatTestData") public Object[][] makeVCFWriterDoubleFormatTestData() { diff --git a/src/test/scala/htsjdk/UnitSpec.scala b/src/test/scala/htsjdk/UnitSpec.scala new file mode 100644 index 000000000..db533a12e --- /dev/null +++ b/src/test/scala/htsjdk/UnitSpec.scala @@ -0,0 +1,6 @@ +package htsjdk + +import org.scalatest.{FlatSpec, Matchers} + +/** Base class for all Scala tests. */ +class UnitSpec extends FlatSpec with Matchers diff --git a/src/test/scala/htsjdk/samtools/util/StringUtilTest.scala b/src/test/scala/htsjdk/samtools/util/StringUtilTest.scala new file mode 100644 index 000000000..6962e3674 --- /dev/null +++ b/src/test/scala/htsjdk/samtools/util/StringUtilTest.scala @@ -0,0 +1,134 @@ +/* + * The MIT License + * + * Copyright (c) 2017 The Broad Institute + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package htsjdk.samtools.util + +import htsjdk.UnitSpec + +class StringUtilTest extends UnitSpec { + "StringUtil.split" should "behave like String.split(char)" in { + Seq("A:BB:C", "A:BB", "A:BB:", "A:BB:C:DDD", "A:", "A", "A:BB:C").foreach { s => + val arr = new Array[String](10) + val count = StringUtil.split(s, arr, ':') + arr.take(count) shouldBe s.split(':') + } + } + + "StringUtil.splitConcatenateExcessTokens" should "behave like String.split(regex, limit)" in { + Seq("A:BB:C", "A:BB", "A:BB:", "A:BB:C:DDD", "A:", "A", "A:BB:C:").foreach { s => + val arr = new Array[String](3) + val count = StringUtil.splitConcatenateExcessTokens(s, arr, ':') + arr.take(count) shouldBe s.split(":", 3).filter(_.nonEmpty) + } + } + + "StringUtil.join" should "join tokens with a separator" in { + StringUtil.join(",", 1, "hello", 'T') shouldBe "1,hello,T" + StringUtil.join(",") shouldBe "" + } + + "StringUtil.hammingDistance" should "return zero for two empty sequences" in { + StringUtil.hammingDistance("", "") shouldBe 0 + } + + Seq(("ATAC", "GCAT", 3), ("ATAGC", "ATAGC", 0)).foreach { case (s1, s2, distance) => + it should s"return distance $distance between $s1 and $s2" in { + StringUtil.hammingDistance(s1, s2) shouldBe distance + } + } + + it should "be case sensitive" in { + StringUtil.hammingDistance("ATAC", "atac") shouldBe 4 + } + + it should "count Ns as matching when computing distance" in { + StringUtil.hammingDistance("nAGTN", "nAGTN") shouldBe 0 + } + + it should "throw an exception if two strings of different lengths are provided" in { + an[Exception] shouldBe thrownBy { StringUtil.hammingDistance("", "ABC")} + an[Exception] shouldBe thrownBy { StringUtil.hammingDistance("Abc", "wxyz")} + } + + "StringUtil.isWithinHammingDistance" should "agree with StringUtil.hammingDistance" in { + Seq(("ATAC", "GCAT", 3), ("ATAC", "GCAT", 2), ("ATAC", "GCAT", 1), ("ATAC", "GCAT", 0)).foreach { case (s1, s2, within) => + StringUtil.isWithinHammingDistance(s1, s2, within) shouldBe (StringUtil.hammingDistance(s1, s2) <= within) + } + } + + it should "throw an exception if the two strings are of different lengths" in { + an[Exception] shouldBe thrownBy { StringUtil.isWithinHammingDistance("", "ABC", 2)} + an[Exception] shouldBe thrownBy { StringUtil.isWithinHammingDistance("Abc", "wxyz", 2)} + } + + "StringUtil.toLowerCase(byte)" should "work just like Character.toLowerCase" in { + 0 to 127 foreach {i => StringUtil.toLowerCase(i.toByte) shouldBe i.toChar.toLower.toByte } + } + + "StringUtil.toUpperCase(byte)" should "work just like Character.toUpperCase" in { + 0 to 127 foreach {i => StringUtil.toUpperCase(i.toByte) shouldBe i.toChar.toUpper.toByte } + } + + "StringUtil.toUpperCase(byte[])" should "do upper case characters" in { + val seq = "atACgtaCGTgatcCAtATATgATtatgacNryuAN" + val bytes = seq.getBytes + StringUtil.toUpperCase(bytes) + bytes shouldBe seq.toUpperCase.getBytes + } + + "StringUtil.assertCharactersNotInString" should "catch illegal characters" in { + an[Exception] shouldBe thrownBy { + StringUtil.assertCharactersNotInString("Hello World!", ' ', '!', '_') + } + } + + it should "not fail when there are no illegal characters present" in { + StringUtil.assertCharactersNotInString("HelloWorld", ' ', '!', '_') + } + + val textForWrapping = + """This is a little bit + |of text with nice short + |lines. + """.stripMargin.trim + + "StringUtil.wordWrap" should "not wrap when lines are shorter than the given length" in { + StringUtil.wordWrap(textForWrapping, 50) shouldBe textForWrapping + } + + it should "wrap text when lines are longer than length give" in { + val result = StringUtil.wordWrap(textForWrapping, 15) + result.lines.size shouldBe 5 + result.lines.foreach(line => line.length should be <= 15) + } + + "StringUtil.intValuesToString(int[])" should "generate a CSV string of ints" in { + val ints = Array[Int](1, 2, 3, 11, 22, 33, Int.MinValue, 0, Int.MaxValue) + StringUtil.intValuesToString(ints) shouldBe ints.mkString(", ") + } + + "StringUtil.intValuesToString(short[])" should "generate a CSV string of ints" in { + val ints = Array[Short](1, 2, 3, 11, 22, 33, Short.MinValue, 0, Short.MaxValue) + StringUtil.intValuesToString(ints) shouldBe ints.mkString(", ") + } +}