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(", ")
+ }
+}