test_that("unknown mold() inputs throw an error", {
expect_snapshot(error = TRUE, {
mold("hi")
})
})
test_that("can use x-y mold interface", {
sparse_bp <- default_xy_blueprint(composition = "dgCMatrix")
matrix_bp <- default_xy_blueprint(composition = "matrix")
x1 <- mold(iris[, "Sepal.Length", drop = FALSE], iris$Species)
x2 <- mold(iris[, "Sepal.Length", drop = FALSE], iris$Species, blueprint = sparse_bp)
x3 <- mold(iris[, "Sepal.Length", drop = FALSE], iris$Species, blueprint = matrix_bp)
expect_s3_class(x1$predictors, "tbl_df")
expect_s4_class(x2$predictors, "dgCMatrix")
expect_matrix(x3$predictors)
expect_equal(colnames(x1$predictors), "Sepal.Length")
expect_equal(colnames(x2$predictors), "Sepal.Length")
expect_equal(colnames(x3$predictors), "Sepal.Length")
expect_s3_class(x1$outcomes, "tbl_df")
expect_s3_class(x2$outcomes, "tbl_df")
expect_s3_class(x3$outcomes, "tbl_df")
expect_equal(colnames(x1$outcomes), ".outcome")
expect_equal(colnames(x2$outcomes), ".outcome")
expect_equal(colnames(x3$outcomes), ".outcome")
expect_s3_class(x1$blueprint, "default_xy_blueprint")
})
test_that("xy intercepts can be added", {
x1 <- mold(
iris[, "Sepal.Length", drop = FALSE],
iris$Species,
blueprint = default_xy_blueprint(intercept = TRUE)
)
x2 <- mold(
iris[, "Sepal.Length", drop = FALSE],
iris$Species,
blueprint = default_xy_blueprint(intercept = TRUE, composition = "matrix")
)
expect_true("(Intercept)" %in% colnames(x1$predictors))
expect_true("(Intercept)" %in% colnames(x2$predictors))
})
test_that("cannot pass anything in the dots", {
expect_snapshot(error = TRUE, {
mold(
iris[, "Sepal.Length", drop = FALSE],
iris$Species,
z = "in the dots"
)
})
expect_snapshot(error = TRUE, {
mold(
iris[, "Sepal.Length", drop = FALSE],
iris$Species,
blueprint = default_xy_blueprint(composition = "dgCMatrix"),
z = "in the dots"
)
})
})
test_that("`NULL` y value returns a 0 column tibble for `outcomes`", {
x <- mold(iris, y = NULL)
expect_equal(nrow(x$outcomes), 150)
expect_equal(ncol(x$outcomes), 0)
})
test_that("Missing y value returns a 0 column / 0 row tibble for `ptype`", {
x <- mold(iris, y = NULL)
expect_equal(x$blueprint$ptypes$outcomes, tibble())
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.