gatk-3.8/java/test/org/broadinstitute/sting/utils/GenomeLocUnitTest.java

87 lines
2.8 KiB
Java
Raw Normal View History

// our package
package org.broadinstitute.sting.utils;
// the imports for unit testing.
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.broadinstitute.sting.BaseTest;
import java.io.File;
import java.io.FileNotFoundException;
import net.sf.picard.reference.ReferenceSequenceFile;
import net.sf.picard.reference.IndexedFastaSequenceFile;
/**
* Basic unit test for GenomeLoc
*/
public class GenomeLocUnitTest extends BaseTest {
private static ReferenceSequenceFile seq;
private GenomeLocParser genomeLocParser;
@BeforeClass
public void init() throws FileNotFoundException {
// sequence
seq = new IndexedFastaSequenceFile(new File(hg18Reference));
genomeLocParser = new GenomeLocParser(seq);
}
/**
* Tests that we got a string parameter in correctly
*/
@Test
public void testIsBetween() {
logger.warn("Executing testIsBetween");
GenomeLoc locMiddle = genomeLocParser.createGenomeLoc("chr1", 3, 3);
GenomeLoc locLeft = genomeLocParser.createGenomeLoc("chr1", 1, 1);
GenomeLoc locRight = genomeLocParser.createGenomeLoc("chr1", 5, 5);
Assert.assertTrue(locMiddle.isBetween(locLeft, locRight));
Assert.assertFalse(locLeft.isBetween(locMiddle, locRight));
Assert.assertFalse(locRight.isBetween(locLeft, locMiddle));
}
@Test
public void testContigIndex() {
logger.warn("Executing testContigIndex");
GenomeLoc locOne = genomeLocParser.createGenomeLoc("chr1",1,1);
Assert.assertEquals(1, locOne.getContigIndex());
Assert.assertEquals("chr1", locOne.getContig());
GenomeLoc locX = genomeLocParser.createGenomeLoc("chrX",1,1);
Assert.assertEquals(23, locX.getContigIndex());
Assert.assertEquals("chrX", locX.getContig());
GenomeLoc locNumber = genomeLocParser.createGenomeLoc(seq.getSequenceDictionary().getSequence(1).getSequenceName(),1,1);
Assert.assertEquals(1, locNumber.getContigIndex());
Assert.assertEquals("chr1", locNumber.getContig());
Assert.assertEquals(0, locOne.compareTo(locNumber));
}
@Test
public void testCompareTo() {
logger.warn("Executing testCompareTo");
GenomeLoc twoOne = genomeLocParser.createGenomeLoc("chr2", 1);
GenomeLoc twoFive = genomeLocParser.createGenomeLoc("chr2", 5);
GenomeLoc twoOtherFive = genomeLocParser.createGenomeLoc("chr2", 5);
Assert.assertEquals(twoFive.compareTo(twoOtherFive), 0);
Assert.assertEquals(twoOne.compareTo(twoFive), -1);
Assert.assertEquals(twoFive.compareTo(twoOne), 1);
GenomeLoc oneOne = genomeLocParser.createGenomeLoc("chr1", 5);
Assert.assertEquals(oneOne.compareTo(twoOne), -1);
Assert.assertEquals(twoOne.compareTo(oneOne), 1);
}
}