tests/testthat/test_main.R

context("sparsedistreg")

test_that("sparsedistreg", {
  
  data <- data.frame(a=rnorm(100), b=rnorm(100), c=rnorm(100))
  y <- rnorm(100) + data$a
  mod <- sparsedistreg(
    y = y,
    data = data
  )
  
})

test_that("create_full_lists", {
  
  data <- data.frame(a=rnorm(100), b=rnorm(100), c=rnorm(100))
  family = "normal"
  
  cfl <- create_full_lists(data = data, family = family)

  expect_is(cfl, "list")
  expect_equal(names(cfl), c("location", "scale"))
  expect_equal(f2s(cfl[[1]]), "~1 + a + b + c")
  expect_equal(f2s(cfl[[2]]), "~1 + a + b + c")
  
})

test_that("expand_form", {
  
  data <- data.frame(a=rnorm(100), b=rnorm(100), c=rnorm(100))
  family = "normal"
  
  list_of_formulas <- create_full_lists(data = data, family = family)
  controls <- c(sterm_control(),
                penalty_control(),
                gammas = 0.5,
                lambdas = 4)
  form <- list_of_formulas[[1]]
  
  one_form <- expand_form(form = form, controls = controls)
  expect_equal(gsub("\\s+", " ", f2s(one_form)), 
               gsub("\\s+", " ", 
                    "~1 + lasso(a, la = 2) + lasso(b, la = 2) + lasso(c, la = 2) + 
               sparse(s(a, la = 2, m = c(2, 0))) + sparse(s(b, la = 2, m = c(2, 0))) + 
               sparse(s(c, la = 2, m = c(2, 0)))")
  )
  
})
neural-structured-additive-learning/sparsedistreg documentation built on May 13, 2022, 3:56 a.m.