--- a +++ b/tests/testthat/test-common.R @@ -0,0 +1,35 @@ +#Test the common.R functions note getNS is tested elsewhere + +context("common") + +test_that("RootFindRateShape",{ + mu <- sqrt(pi) + sigma <- 2*sqrt(1-pi/4) + + ans <- RootFindRateShape(mu,sigma) + expect_equal(2,ans[["shape"]],tol=1e-5) + expect_equal(0.5,ans[["rate"]],tol=1e-5) +}) + +test_that("roundForceOutputZeros",{ + expect_equal("23.5",roundForceOutputZeros(23.48,dp=1)) + expect_equal("-23.545",roundForceOutputZeros(-23.545,dp=3)) + expect_equal("23.50",roundForceOutputZeros(23.5,dp=2)) + expect_equal("23.500",roundForceOutputZeros(23.5,dp=3)) + expect_equal("23.5000000000",roundForceOutputZeros(23.5,dp=10)) + expect_error(roundForceOutputZeros(0.765,dp=0)) +}) + +test_that("FitMixtureModel",{ + + expect_error(FitMixtureModel(HR=-1,r=1,M=1)) + expect_error(FitMixtureModel(HR=1,r=0,M=1)) + expect_error(FitMixtureModel(HR=1,r=1,M=0)) + expect_error(FitMixtureModel(HR=1,r=1,M=c(1,2,3))) + expect_error(FitMixtureModel(HR="de",r=1,M=0)) + + x <-FitMixtureModel(HR=1,r=1,M=5) + expect_equal(1,x$shape,tol=2e-6) #tolerance as numerics used for fit + expect_equal(log(2)/5,x$rate,tol=2e-6) + +}) \ No newline at end of file