Skip to content

Commit

Permalink
Unit tests for GT16 error model, binary and error model base
Browse files Browse the repository at this point in the history
  • Loading branch information
kche309 committed Jun 10, 2021
1 parent 6ac944f commit e681d40
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 0 deletions.
35 changes: 35 additions & 0 deletions src/test/beast/evolution/errormodel/BinaryErrorModelTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package test.beast.evolution.errormodel;

import beast.evolution.datatype.Binary;
import beast.evolution.errormodel.BinaryErrorModel;
import org.junit.Test;

import static junit.framework.Assert.assertEquals;

public class BinaryErrorModelTest {

private static double DELTA = 1e-10;

@Test
public void testBinaryErrorModelSumsToOne() {
Binary datatype = new Binary();

BinaryErrorModel errorModel = new BinaryErrorModel();
errorModel.initByName(
"alpha", "0.1",
"beta", "0.2",
"datatype", datatype
);
errorModel.initAndValidate();

for (int i = 0; i < datatype.getStateCount(); i++) {
double sum = 0.0;
for (int j = 0; j < datatype.getStateCount(); j++) {
// getProbability(observed state, true state)
sum += errorModel.getProbability(j, i);
}
assertEquals(1.0, sum, DELTA);
}

}
}
32 changes: 32 additions & 0 deletions src/test/beast/evolution/errormodel/ErrorModelBaseTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package test.beast.evolution.errormodel;

import beast.evolution.datatype.Nucleotide;
import beast.evolution.errormodel.ErrorModelBase;
import org.junit.Test;

import static junit.framework.Assert.assertEquals;

public class ErrorModelBaseTest {

private static double DELTA = 1e-10;

@Test
public void testNucleotideErrorModelSumsToOne() {
Nucleotide datatype = new Nucleotide();

ErrorModelBase errorModel = new ErrorModelBase();
errorModel.initByName("epsilon", "0.1", "datatype", datatype);
errorModel.initAndValidate();

for (int i = 0; i < datatype.getStateCount(); i++) {
double sum = 0.0;
for (int j = 0; j < datatype.getStateCount(); j++) {
// getProbability(observed state, true state)
sum += errorModel.getProbability(j, i);
}
assertEquals(1.0, sum, DELTA);
}

}
}

35 changes: 35 additions & 0 deletions src/test/beast/evolution/errormodel/GT16ErrorModelTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package test.beast.evolution.errormodel;

import beast.evolution.datatype.NucleotideDiploid16;
import beast.evolution.errormodel.GT16ErrorModel;
import org.junit.Test;

import static junit.framework.Assert.assertEquals;

public class GT16ErrorModelTest {

private static double DELTA = 1e-10;

@Test
public void testGT16ErrorSumsToOne() {
NucleotideDiploid16 datatype = new NucleotideDiploid16();

GT16ErrorModel errorModel = new GT16ErrorModel();
errorModel.initByName(
"epsilon", "0.1",
"delta", "0.2",
"datatype", datatype
);
errorModel.initAndValidate();

for (int i = 0; i < datatype.getStateCount(); i++) {
double sum = 0.0;
for (int j = 0; j < datatype.getStateCount(); j++) {
// getProbability(observed state, true state)
sum += errorModel.getProbability(j, i);
}
assertEquals(1.0, sum, DELTA);
}

}
}

0 comments on commit e681d40

Please sign in to comment.