testthat::context("alleleData")
set.seed(123)
## Create a test data
species=c("Atest","B test", "C.test")
aData=lapply(as.list(species),function(x) matrix(runif(120),ncol=3))
names(aData)=species
badData=lapply(as.list(species),function(x) matrix(runif(120,max=100),ncol=3))
names(badData)=species
## Create log data
logAData=lapply(aData,log)
names(logAData)=species
## Create test trees, both one that will fail, and one that will pass
passTree=ape::unroot(ape::rtree(n = length(species),tip.label = species))
failTree1=ape::unroot(ape::rtree(n = length(species),tip.label = c("A","B","C")))
failTree2=ape::unroot(ape::rtree(n = length(species)+1,tip.label = c(species,"D")))
## Test that object is created correctly when not given site info
testthat::test_that("alleleData builds correctly without site info",{
testthat::expect_s4_class(alleleData(data=aData,tree=passTree),"alleleData")
})
## Build object with log probabilities
testthat::test_that("alleleData builds correctly without site info",{
testthat::expect_s4_class(alleleData(data=logAData,tree=passTree,logProb = TRUE),"alleleData")
})
## Build object with incorrect probabilities
testthat::test_that("alleleData fails to build with invalid probabilities",{
testthat::expect_error(alleleData(data=badData,tree=passTree),"alleleData")
})
## Test that object fails when passed mis-matched tree and data
testthat::test_that("alleleData fails to build when incorrect tree tip.labels supplied",{
testthat::expect_error(alleleData(data=aData,tree=failTree1))
})
testthat::test_that("alleleData fails to build when wrong tree supplied",{
testthat::expect_error(alleleData(data=aData,tree=failTree2))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.