Nothing
context("test-fit-constructors")
# =============================================================================
# fit_pls constructor tests
# =============================================================================
test_that("fit_pls constructor works", {
f1 <- fit_pls(ncomp = 10)
expect_s3_class(f1, "fit_pls")
expect_s3_class(f1, "fit_method")
expect_equal(f1$ncomp, 10L)
expect_equal(f1$method, "pls")
expect_false(f1$scale)
expect_equal(f1$max_iter, 100L)
expect_equal(f1$tol, 1e-6)
f2 <- fit_pls(ncomp = 15, method = "mpls", scale = TRUE)
expect_equal(f2$ncomp, 15L)
expect_equal(f2$method, "mpls")
expect_true(f2$scale)
f3 <- fit_pls(ncomp = 10, method = "simpls")
expect_equal(f3$method, "simpls")
})
test_that("fit_pls requires ncomp", {
expect_error(fit_pls(), "ncomp.*required")
})
test_that("fit_pls validates ncomp", {
expect_error(fit_pls(ncomp = 0), "positive integer")
expect_error(fit_pls(ncomp = -5), "positive integer")
expect_error(fit_pls(ncomp = "ten"), "positive integer")
expect_error(fit_pls(ncomp = c(5, 10)), "positive integer")
})
test_that("fit_pls validates scale", {
expect_error(fit_pls(ncomp = 10, scale = "yes"), "TRUE or FALSE")
expect_error(fit_pls(ncomp = 10, scale = c(TRUE, FALSE)), "TRUE or FALSE")
})
test_that("fit_pls validates method", {
expect_error(fit_pls(ncomp = 10, method = "invalid"))
})
test_that("print.fit_pls works", {
f <- fit_pls(ncomp = 10, method = "mpls")
expect_output(print(f), "Fitting method: pls")
expect_output(print(f), "ncomp.*: 10")
expect_output(print(f), "method.*: mpls")
})
# =============================================================================
# fit_wapls constructor tests
# =============================================================================
test_that("fit_wapls constructor works", {
f1 <- fit_wapls(min_ncomp = 3, max_ncomp = 15)
expect_s3_class(f1, "fit_wapls")
expect_s3_class(f1, "fit_method")
expect_equal(f1$min_ncomp, 3L)
expect_equal(f1$max_ncomp, 15L)
expect_equal(f1$method, "mpls") # default for wapls
expect_false(f1$scale)
f2 <- fit_wapls(min_ncomp = 5, max_ncomp = 20, method = "simpls", scale = TRUE)
expect_equal(f2$method, "simpls")
expect_true(f2$scale)
})
test_that("fit_wapls requires both min_ncomp and max_ncomp", {
expect_error(fit_wapls(min_ncomp = 3), "required")
expect_error(fit_wapls(max_ncomp = 15), "required")
})
test_that("fit_wapls validates min_ncomp < max_ncomp", {
expect_error(fit_wapls(min_ncomp = 15, max_ncomp = 10), "less than")
expect_error(fit_wapls(min_ncomp = 10, max_ncomp = 10), "less than")
})
test_that("fit_wapls validates ncomp values", {
expect_error(fit_wapls(min_ncomp = 0, max_ncomp = 10), "positive integer")
expect_error(fit_wapls(min_ncomp = 3, max_ncomp = -5), "positive integer")
})
test_that("print.fit_wapls works", {
f <- fit_wapls(min_ncomp = 3, max_ncomp = 15)
expect_output(print(f), "Fitting method: wapls")
expect_output(print(f), "min_ncomp.*: 3")
expect_output(print(f), "max_ncomp.*: 15")
})
# =============================================================================
# fit_gpr constructor tests
# =============================================================================
test_that("fit_gpr constructor works", {
f1 <- fit_gpr()
expect_s3_class(f1, "fit_gpr")
expect_s3_class(f1, "fit_method")
expect_equal(f1$noise_variance, 0.001)
expect_true(f1$center)
expect_true(f1$scale)
f2 <- fit_gpr(noise_variance = 0.01, center = FALSE, scale = FALSE)
expect_equal(f2$noise_variance, 0.01)
expect_false(f2$center)
expect_false(f2$scale)
})
test_that("fit_gpr validates noise_variance", {
expect_error(fit_gpr(noise_variance = 0), "positive")
expect_error(fit_gpr(noise_variance = -0.01), "positive")
expect_error(fit_gpr(noise_variance = "small"), "numeric")
expect_error(fit_gpr(noise_variance = c(0.001, 0.01)), "single numeric")
})
test_that("fit_gpr validates center and scale", {
expect_error(fit_gpr(center = "yes"), "TRUE or FALSE")
expect_error(fit_gpr(scale = "yes"), "TRUE or FALSE")
})
test_that("print.fit_gpr works", {
f <- fit_gpr(noise_variance = 0.01)
expect_output(print(f), "Fitting method: gpr")
expect_output(print(f), "noise_variance.*: 0.01")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.