/** * */ package test.beast.evolution.tree; import static org.junit.Assert.*; import java.util.ArrayList; import java.util.List; import org.junit.Test; import beast.evolution.alignment.Alignment; import beast.evolution.alignment.Sequence; import beast.evolution.alignment.TaxonSet; import beast.evolution.tree.TraitSet; /** * @author Gereon Kaiping <g.a.kaiping@hum.leidenuniv.nl> * */ public class TraitSetTest { public TaxonSet taxonSet(int Nleaves) { List<Sequence> seqList = new ArrayList<Sequence>(); for (int i=0; i<Nleaves; i++) { String taxonID = "t" + i; seqList.add(new Sequence(taxonID, "?")); } Alignment alignment = new Alignment(seqList, "nucleotide"); TaxonSet taxonSet = new TaxonSet(alignment); return taxonSet;} @Test public void testDateBackward() { int Nleaves = 2; TraitSet timeTrait = new TraitSet(); timeTrait.initByName( "traitname", "date-backward", "taxa", taxonSet(Nleaves), "value", "t0=0, t1=10"); // The trait actually represents the age of the taxa relative to // each other with arbitrary zero, so we test it like this. assertEquals(-10.0, timeTrait.getValue("t0")-timeTrait.getValue("t1"), 1e-7); } @Test public void testDateForward() { int Nleaves = 2; TraitSet timeTrait = new TraitSet(); timeTrait.initByName( "traitname", "date-forward", "taxa", taxonSet(Nleaves), "value", "t0=0, t1=10"); // The trait actually represents the age of the taxa relative to // each other with arbitrary zero, so we test it like this. assertEquals(10.0, timeTrait.getValue("t0")-timeTrait.getValue("t1"), 1e-7); } @Test public void testDateForwardUnspecified() { int Nleaves = 2; TraitSet timeTrait = new TraitSet(); timeTrait.initByName( "traitname", "date-forward", "taxa", taxonSet(Nleaves), "value", "t1=10"); // The trait actually represents the age of the taxa relative to // each other with arbitrary zero, so we test it like this. assertEquals(10.0, timeTrait.getValue("t0")-timeTrait.getValue("t1"), 1e-7); } }