gatk-3.8/java/test/org/broadinstitute/sting/gatk/refdata/TabularRODTest.java

121 lines
4.0 KiB
Java
Raw Normal View History

// our package
package org.broadinstitute.sting.gatk.refdata;
// the imports for unit testing.
import org.junit.*;
import static org.junit.Assert.assertTrue;
import org.broadinstitute.sting.BaseTest;
import org.broadinstitute.sting.utils.fasta.FastaSequenceFile2;
import org.broadinstitute.sting.utils.RefHanger;
import org.broadinstitute.sting.utils.GenomeLoc;
import java.io.File;
import java.util.Arrays;
import java.util.List;
/**
* Basic unit test for TabularROD
*
*/
public class TabularRODTest extends BaseTest {
private static FastaSequenceFile2 seq;
private ReferenceOrderedData ROD;
private ReferenceOrderedData.RODIterator iter;
private ReferenceOrderedData ROD2;
private ReferenceOrderedData.RODIterator iter2;
@BeforeClass
public static void init() {
// sequence
seq = new FastaSequenceFile2(new File(seqLocation + "/references/Homo_sapiens_assembly18/v0/Homo_sapiens_assembly18.fasta"));
GenomeLoc.setupRefContigOrdering(seq);
}
@Before
public void setupTabularROD() {
File file = new File(testDir + "TabularDataTest.dat");
ROD = new ReferenceOrderedData("tableTest", file, TabularROD.class);
iter = ROD.iterator();
File file2 = new File(testDir + "TabularDataTest2.dat");
ROD2 = new ReferenceOrderedData("tableTest", file2, TabularROD.class);
iter2 = ROD2.iterator();
}
@Test
public void test1() {
logger.warn("Executing test1");
TabularROD one = (TabularROD)iter.next();
assertTrue(one.size() == 3);
assertTrue(one.getLocation().equals(new GenomeLoc("chrM", 10)));
assertTrue(one.get("COL1").equals("A"));
assertTrue(one.get("COL2").equals("B"));
assertTrue(one.get("COL3").equals("C"));
}
@Test
public void test2() {
logger.warn("Executing test2");
TabularROD one = (TabularROD)iter.next();
TabularROD two = (TabularROD)iter.next();
assertTrue(two.size() == 3);
assertTrue(two.getLocation().equals(new GenomeLoc("chrM", 20)));
assertTrue(two.get("COL1").equals("C"));
assertTrue(two.get("COL2").equals("D"));
assertTrue(two.get("COL3").equals("E"));
}
@Test
public void test3() {
logger.warn("Executing test3");
TabularROD one = (TabularROD)iter.next();
TabularROD two = (TabularROD)iter.next();
TabularROD three = (TabularROD)iter.next();
assertTrue(three.size() == 3);
assertTrue(three.getLocation().equals(new GenomeLoc("chrM", 30)));
assertTrue(three.get("COL1").equals("F"));
assertTrue(three.get("COL2").equals("G"));
assertTrue(three.get("COL3").equals("H"));
}
@Test
public void testDone() {
logger.warn("Executing testDone");
TabularROD one = (TabularROD)iter.next();
TabularROD two = (TabularROD)iter.next();
TabularROD three = (TabularROD)iter.next();
assertTrue(!iter.hasNext());
}
@Test
public void testSeek() {
logger.warn("Executing testSeek");
TabularROD two = (TabularROD)iter.seekForward(new GenomeLoc("chrM", 20));
assertTrue(two.size() == 3);
assertTrue(two.getLocation().equals(new GenomeLoc("chrM", 20)));
assertTrue(two.get("COL1").equals("C"));
assertTrue(two.get("COL2").equals("D"));
assertTrue(two.get("COL3").equals("E"));
}
@Test
public void testToString() {
logger.warn("Executing testToString");
TabularROD one = (TabularROD)iter.next();
assertTrue(one.toString().equals("chrM:10\tA\tB\tC"));
}
@Test
public void test2p1() {
logger.warn("Executing test2p1");
TabularROD one2 = (TabularROD)iter2.next();
assertTrue(one2.size() == 4);
assertTrue(one2.getLocation().equals(new GenomeLoc("chrM", 10)));
assertTrue(one2.get("COL1").equals("A"));
assertTrue(one2.get("COL2").equals("B"));
assertTrue(one2.get("COL3").equals("C"));
assertTrue(one2.get("COL4").equals("1"));
}
}