# devtools::load_all()
library(testthat)
test_that('MakeSparseGP works', {
set.seed(1)
n <- 100
r1 <- MakeSparseGP(n)
r2 <- MakeSparseGP(n, function(ni) rbeta(ni, 2/3, 1))
r3 <- MakeSparseGP(n, sparsity=1)
r31 <- MakeSparseGP(n, sparsity=3)
r4 <- MakeSparseGP(n, muFun=identity, lambda=1e-2)
r5 <- MakeSparseGP(n, K=1)
r6 <- MakeSparseGP(n, K=10)
r7 <- MakeSparseGP(n, lambda=3:1)
r8 <- MakeSparseGP(n, sigma=1)
r9 <- MakeSparseGP(n, basisType='sin')
r10 <- MakeSparseGP(2, CovFun=function(x) matrix(1, length(x), length(x)))
expect_equal(length(r1$Ly), length(r1$Lt))
# hist(unlist(r2$Lt))
t2 <- unlist(r2$Lt)
expect_true(sum(t2 < 0.1) > 1.5 * sum(t2 > 0.9))
expect_true(all(r3$Ni == 1))
expect_true(all(r31$Ni == 3))
expect_true(cor(unlist(r4$Lt), unlist(r4$Ly)) > 0.9)
expect_equal(ncol(r5$xi), 1)
expect_equal(ncol(r6$xi), 10)
expect_equal(ncol(r7$xi), 3)
expect_equal(sd(unlist(r7$Ly)), sqrt(sum(3:1)), tolerance=0.1)
expect_equal(sd(unlist(r8$Ly) - unlist(r8$LyTrue)), 1, tolerance=0.1)
expect_equal(mean(abs(unlist(r9$Ly)[unlist(r9$Lt) < 0.05])), 0, scale=1, tolerance=0.5)
expect_equal(max(abs(sapply(r10$yCurve, diff))), 0, scale=1, tolerance=1e-6)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.