tests/testthat/test_MakeSparseGP.R

# 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)
})
functionaldata/tPACE documentation built on Aug. 16, 2022, 8:27 a.m.