gatk-3.8/java/test/org/broadinstitute/sting/utils/broad/PicardAnalysisFilesUnitTest...

57 lines
3.2 KiB
Java
Executable File

package org.broadinstitute.sting.utils.broad;
import org.broadinstitute.sting.BaseTest;
import org.testng.Assert;
import org.testng.annotations.Test;
import java.io.FileNotFoundException;
import static org.broadinstitute.sting.utils.broad.PicardAggregationUtilsUnitTest.*;
public class PicardAnalysisFilesUnitTest extends BaseTest {
@Test
public void testParseLatest() throws Exception {
PicardAnalysisFiles files = new PicardAnalysisFiles(PROJECT, SAMPLE);
Assert.assertNotNull(files.getPath());
files = new PicardAnalysisFiles(PROJECT, SAMPLE, PicardAggregationUtils.getLatestVersion(PROJECT, SAMPLE));
Assert.assertNotNull(files.getPath());
}
@Test
public void testParseValid() throws Exception {
PicardAnalysisFiles file = new PicardAnalysisFiles(BaseTest.validationDataLocation + "picard_analysis_file.txt");
Assert.assertEquals(file.getReferenceSequence(), "/seq/references/Homo_sapiens_assembly19/v1/Homo_sapiens_assembly19.fasta");
Assert.assertEquals(file.getTargetIntervals(), "/seq/references/HybSelOligos/whole_exome_agilent_1.1_refseq_plus_3_boosters/whole_exome_agilent_1.1_refseq_plus_3_boosters.Homo_sapiens_assembly19.targets.interval_list");
Assert.assertEquals(file.getBaitIntervals(), "/seq/references/HybSelOligos/whole_exome_agilent_1.1_refseq_plus_3_boosters/whole_exome_agilent_1.1_refseq_plus_3_boosters.Homo_sapiens_assembly19.baits.interval_list");
}
@Test
public void testParseValidWithComments() throws Exception {
PicardAnalysisFiles file = new PicardAnalysisFiles(BaseTest.validationDataLocation + "picard_analysis_file_with_comments.txt");
Assert.assertEquals(file.getReferenceSequence(), "/seq/references/Homo_sapiens_assembly19/v1/Homo_sapiens_assembly19.fasta");
Assert.assertEquals(file.getTargetIntervals(), "/seq/references/HybSelOligos/whole_exome_agilent_1.1_refseq_plus_3_boosters/whole_exome_agilent_1.1_refseq_plus_3_boosters.Homo_sapiens_assembly19.targets.interval_list");
Assert.assertEquals(file.getBaitIntervals(), "/seq/references/HybSelOligos/whole_exome_agilent_1.1_refseq_plus_3_boosters/whole_exome_agilent_1.1_refseq_plus_3_boosters.Homo_sapiens_assembly19.baits.interval_list");
}
@Test(expectedExceptions = FileNotFoundException.class)
public void testParseBadPath() throws Exception {
new PicardAnalysisFiles(BaseTest.validationDataLocation + "non_existent_picard_analysis_file.txt");
}
@Test(expectedExceptions = FileNotFoundException.class)
public void testParseMissingLatest() throws Exception {
new PicardAnalysisFiles(MISSING_PROJECT, MISSING_SAMPLE);
}
@Test(expectedExceptions = FileNotFoundException.class)
public void testParseMissingVersion() throws Exception {
new PicardAnalysisFiles(PROJECT, SAMPLE, PicardAggregationUtils.getLatestVersion(PROJECT, SAMPLE) + 2);
}
@Test(expectedExceptions = UnsupportedOperationException.class)
public void testParseMultipleReferences() throws Exception {
PicardAnalysisFiles file = new PicardAnalysisFiles(BaseTest.validationDataLocation + "picard_analysis_file_with_different_references.txt");
file.getReferenceSequence();
}
}