test_that("print - hardhat_model", {
expect_snapshot({
new_model()
new_model(class = "custom_class")
new_model(x = 4, y = "hi", class = "custom_class")
})
})
test_that("can create new empty models", {
x <- new_model()
expect_s3_class(x$blueprint, "default_xy_blueprint")
expect_s3_class(x, "hardhat_model")
expect_s3_class(x, "hardhat_scalar")
})
test_that("can create new models", {
x <- new_model(class = "custom")
expect_s3_class(x, "custom")
expect_s3_class(x$blueprint, "default_xy_blueprint")
})
test_that("can have custom elements", {
x <- new_model(
y = 1,
blueprint = default_xy_blueprint(),
class = "custom_class"
)
expect_equal(x$y, 1)
})
test_that("must use a valid blueprint", {
expect_error(
new_model(blueprint = default_xy_blueprint(), class = "custom"),
NA
)
expect_snapshot(error = TRUE, {
new_model(blueprint = 1, class = "custom")
})
})
test_that("`new_scalar()` must have elements", {
expect_error(new_scalar(list()), "must be a list of length 1 or greater")
})
test_that("`new_scalar()` must have unique names", {
expect_error(new_scalar(list(x = 1, x = 2)), "must have unique names")
})
test_that("`new_scalar()` must have no extra attributes", {
x <- list(x = 1)
attr(x, "extra") <- 1
expect_error(new_scalar(x), "must have no attributes")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.