Nothing
test_that("stabilize_df() returns NULL for NULL input by default (#142)", {
expect_null(stabilize_df(NULL))
})
test_that("stabilize_df() respects .allow_null (#142)", {
skip_on_covr()
expect_pkg_error_snapshot(
stabilize_df(NULL, .allow_null = FALSE),
"stbl",
"bad_null"
)
expect_pkg_error_snapshot(
wrapped_stabilize_df(NULL, .allow_null = FALSE),
"stbl",
"bad_null"
)
})
test_that("stabilize_df() errors for non-coercible input (#142)", {
skip_on_covr()
expect_pkg_error_snapshot(
stabilize_df("not a data frame"),
"stbl",
"coerce",
"data.frame"
)
expect_pkg_error_snapshot(
wrapped_stabilize_df("not a data frame"),
"stbl",
"coerce",
"data.frame"
)
})
test_that("stabilize_df() coerces a named list to a data frame (#142)", {
given_list <- list(name = "Alice", age = 30L)
result <- stabilize_df(
given_list,
name = specify_chr_scalar(),
age = specify_int_scalar()
)
expect_s3_class(result, "data.frame")
expect_identical(result$name, "Alice")
expect_identical(result$age, 30L)
})
test_that("stabilize_df() returns a valid data frame unchanged (#142)", {
given <- data.frame(name = "Alice", age = 30L)
result <- stabilize_df(
given,
name = specify_chr_scalar(),
age = specify_int_scalar()
)
expect_identical(result, given)
expect_s3_class(result, "data.frame")
})
test_that("stabilize_df() coerces compatible column types (#142)", {
given <- data.frame(age = "30")
result <- stabilize_df(given, age = specify_int_scalar())
expect_identical(result$age, 30L)
expect_s3_class(result, "data.frame")
})
test_that("stabilize_df() errors when required column is missing (#142)", {
skip_on_covr()
expect_pkg_error_snapshot(
stabilize_df(data.frame(foo = "a"), name = specify_chr_scalar()),
"stbl",
"missing_element"
)
})
test_that("stabilize_df() errors informatively when column fails validation (#142)", {
skip_on_covr()
expect_pkg_error_snapshot(
stabilize_df(
data.frame(count = "not-an-int"),
count = specify_int_scalar()
),
"stbl",
"incompatible_type"
)
})
test_that("stabilize_df() errors on extra columns by default (#142)", {
skip_on_covr()
expect_pkg_error_snapshot(
stabilize_df(data.frame(a = 1L, b = 2L), a = specify_int_scalar()),
"stbl",
"bad_named"
)
})
test_that("stabilize_df() allows extra columns with .extra_cols (#142)", {
given <- data.frame(a = 1L, b = 2L)
result <- stabilize_df(
given,
a = specify_int_scalar(),
.extra_cols = stabilize_present
)
expect_identical(result, given)
})
test_that("stabilize_df() validates extra columns with .extra_cols (#142)", {
skip_on_covr()
expect_pkg_error_snapshot(
stabilize_df(
data.frame(a = 1L, b = "not-int"),
a = specify_int_scalar(),
.extra_cols = specify_int_scalar()
),
"stbl",
"incompatible_type"
)
})
test_that("stabilize_df() enforces .min_rows (#142)", {
expect_error(
stabilize_df(
mtcars[0, ],
.min_rows = 1,
.extra_cols = stabilize_present
),
class = "stbl-error-too_few_rows"
)
})
test_that("stabilize_df() enforces .min_rows (snapshot) (#142)", {
skip_on_covr()
expect_pkg_error_snapshot(
stabilize_df(
mtcars[0, ],
.min_rows = 1,
.extra_cols = stabilize_present
),
"stbl",
"too_few_rows"
)
})
test_that("stabilize_df() enforces .max_rows (#142)", {
expect_error(
stabilize_df(
mtcars,
.max_rows = 5,
.extra_cols = stabilize_present
),
class = "stbl-error-too_many_rows"
)
})
test_that("stabilize_df() enforces .max_rows (snapshot) (#142)", {
skip_on_covr()
expect_pkg_error_snapshot(
stabilize_df(
mtcars,
.max_rows = 5,
.extra_cols = stabilize_present
),
"stbl",
"too_many_rows"
)
})
test_that("stabilize_df() passes with valid row counts (#142)", {
expect_no_error(
stabilize_df(
mtcars,
.min_rows = 32,
.max_rows = 32,
.extra_cols = stabilize_present
)
)
})
test_that("stabilize_df() enforces .col_names (#142)", {
expect_no_error(
stabilize_df(
data.frame(a = 1L, b = 2L),
.col_names = c("a", "b"),
.extra_cols = stabilize_present
)
)
expect_error(
stabilize_df(
data.frame(a = 1L),
.col_names = c("a", "b"),
.extra_cols = stabilize_present
),
class = "stbl-error-missing_cols"
)
})
test_that("stabilize_df() enforces .col_names (snapshot) (#142)", {
skip_on_covr()
expect_pkg_error_snapshot(
stabilize_df(
data.frame(a = 1L),
.col_names = c("a", "b"),
.extra_cols = stabilize_present
),
"stbl",
"missing_cols"
)
})
test_that("stabilize_df() allows .col_names alongside ... specs (#142)", {
given <- data.frame(a = 1L, b = "hello", c = TRUE)
result <- stabilize_df(
given,
a = specify_int_scalar(),
.col_names = c("b", "c"),
.extra_cols = stabilize_present
)
expect_identical(result, given)
})
test_that("stabilize_df() preserves data frame class after column coercion (#142)", {
df <- data.frame(x = c("1", "2", "3"), y = 1:3)
result <- stabilize_df(
df,
x = specify_int(),
y = specify_int()
)
expect_s3_class(result, "data.frame")
expect_identical(result$x, 1L:3L)
expect_identical(result$y, 1L:3L)
})
test_that("stabilize_df() works with no column specs and .extra_cols (#142)", {
given <- data.frame(a = 1L, b = "hello")
result <- stabilize_df(given, .extra_cols = stabilize_present)
expect_identical(result, given)
})
test_that("stabilize_df() with unnamed specs errors informatively (#142)", {
skip_on_covr()
expect_pkg_error_snapshot(
stabilize_df(data.frame(a = 1L), specify_int_scalar()),
"stbl",
"unnamed_spec"
)
})
test_that("stabilise_df() exists (#142)", {
expect_no_error(stabilise_df(NULL))
})
test_that("stabilize_data_frame() exists (#142)", {
expect_no_error(stabilize_data_frame(NULL))
})
test_that("stabilise_data_frame() exists (#142)", {
expect_no_error(stabilise_data_frame(NULL))
})
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.