skip_if_not_installed("serp") data(wine, package = "serp") m1 <- serp::serp( rating ~ temp + contact, slope = "penalize", link = "logit", reverse = TRUE, tuneMethod = "user", lambda = 1e1, data = wine ) test_that("model_info", { info <- model_info(m1) expect_false(info$is_poisson) expect_true(info$is_binomial) expect_false(info$is_linear) expect_true(info$is_ordinal) }) test_that("loglik", { expect_equal(get_loglikelihood(m1), logLik(m1), ignore_attr = TRUE) }) test_that("get_df", { expect_equal(get_df(m1), Inf, ignore_attr = TRUE) expect_equal(get_df(m1, type = "model"), 12, ignore_attr = TRUE) expect_equal(get_df(m1, type = "residual"), m1$rdf, ignore_attr = TRUE) expect_equal(get_df(m1, type = "wald"), Inf, ignore_attr = TRUE) }) test_that("get_modelmatrix", { expect_identical( get_modelmatrix(m1), structure( c( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1 ), dim = c(72L, 3L), dimnames = list( c( "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72" ), c("(Intercept)", "tempwarm", "contactyes") ), assign = 0:2, contrasts = list(temp = "contr.treatment", contact = "contr.treatment") ), ignore_attr = TRUE ) }) test_that("find_predictors", { expect_identical(find_predictors(m1), list(conditional = c("temp", "contact"))) expect_identical(find_predictors(m1, flatten = TRUE), c("temp", "contact")) expect_null(find_predictors(m1, effects = "random")) }) test_that("find_random", { expect_null(find_random(m1)) }) test_that("get_random", { expect_warning(get_random(m1)) }) test_that("find_response", { expect_identical(find_response(m1), "rating") }) test_that("get_response", { expect_identical(get_response(m1), wine$rating) }) test_that("get_predictors", { expect_named(get_predictors(m1), c("temp", "contact")) }) test_that("link_inverse", { expect_equal(link_inverse(m1)(0.2), plogis(0.2), tolerance = 1e-5) }) test_that("linkfun", { expect_equal(link_function(m1)(0.2), qlogis(0.2), tolerance = 1e-4) }) test_that("get_data", { expect_identical(nrow(get_data(m1)), 72L) expect_named(get_data(m1), c("rating", "temp", "contact")) }) test_that("get_call", { expect_true(inherits(get_call(m1), "call")) # nolint }) test_that("find_formula", { expect_length(find_formula(m1), 1) expect_equal( find_formula(m1), list(conditional = as.formula("rating ~ temp + contact")), ignore_attr = TRUE ) }) test_that("find_variables", { expect_identical( find_variables(m1), list( response = "rating", conditional = c("temp", "contact") ) ) expect_identical( find_variables(m1, flatten = TRUE), c("rating", "temp", "contact") ) }) test_that("n_obs", { expect_identical(n_obs(m1), 72L) }) test_that("find_parameters", { expect_identical( find_parameters(m1), list(conditional = c( "(Intercept):1", "(Intercept):2", "(Intercept):3", "(Intercept):4", "tempwarm:1", "tempwarm:2", "tempwarm:3", "tempwarm:4", "contactyes:1", "contactyes:2", "contactyes:3", "contactyes:4" )) ) expect_identical(nrow(get_parameters(m1)), 12L) expect_identical( get_parameters(m1)$Parameter, c( "(Intercept):1", "(Intercept):2", "(Intercept):3", "(Intercept):4", "tempwarm:1", "tempwarm:2", "tempwarm:3", "tempwarm:4", "contactyes:1", "contactyes:2", "contactyes:3", "contactyes:4" ) ) }) test_that("is_multivariate", { expect_false(is_multivariate(m1)) }) test_that("find_terms", { expect_identical( find_terms(m1), list( response = "rating", conditional = c("temp", "contact") ) ) }) test_that("find_statistic", { expect_identical(find_statistic(m1), "z-statistic") }) test_that("get_statistic", { expect_equal( get_statistic(m1)$Statistic, coef(summary(m1))[, 3], tolerance = 1e-4, ignore_attr = TRUE ) })