121 lines
4.0 KiB
Java
Executable File
121 lines
4.0 KiB
Java
Executable File
// 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"));
|
|
}
|
|
} |