Nothing
testthat::test_that("setup_table_data returns data when not empty", {
dots <- list(data_summary = data.frame(x = 1:3, y = 4:6))
result <- saros:::setup_table_data(dots)
testthat::expect_false(result$should_return)
testthat::expect_equal(result$data, dots$data_summary)
})
testthat::test_that("setup_table_data handles empty data", {
dots <- list(data_summary = data.frame())
result <- saros:::setup_table_data(dots)
testthat::expect_true(result$should_return)
testthat::expect_equal(result$data, data.frame())
})
testthat::test_that("determine_variable_basis prefers .variable_label", {
data_summary <- data.frame(
.variable_label = c("Label 1", "Label 2"),
.variable_name = c("var1", "var2")
)
result <- saros:::determine_variable_basis(data_summary)
testthat::expect_equal(result, ".variable_label")
})
testthat::test_that("determine_variable_basis falls back to .variable_name with warning", {
data_summary <- data.frame(
.variable_label = c(NA, NA),
.variable_name = c("var1", "var2")
)
testthat::expect_warning(
result <- saros:::determine_variable_basis(data_summary),
regexp = "No variable labels found"
)
testthat::expect_equal(result, ".variable_name")
})
testthat::test_that("arrange_table_data sorts by column basis", {
data <- data.frame(
var_col = factor(c("C", "A", "B")),
values = 1:3
)
result <- saros:::arrange_table_data(data, col_basis = "var_col")
# Should be sorted alphabetically by factor levels: A, B, C
testthat::expect_equal(result$var_col, factor(c("A", "B", "C")))
testthat::expect_equal(result$values, c(2, 3, 1)) # Corresponding values after sorting
})
testthat::test_that("arrange_table_data sorts by column basis and independent variable", {
data <- data.frame(
var_col = factor(c("B", "A", "B", "A")),
indep_col = factor(c("Y", "X", "X", "Y")),
values = 1:4
)
result <- saros:::arrange_table_data(
data,
col_basis = "var_col",
indep_vars = "indep_col"
)
# Should be sorted by both columns
testthat::expect_s3_class(result, "data.frame")
testthat::expect_equal(nrow(result), 4)
})
testthat::test_that("round_numeric_stats rounds appropriate columns", {
data <- data.frame(
.mean = c(1.12345, 2.67890),
.median = c(1.5555, 2.3333),
text_col = c("A", "B")
)
result <- saros:::round_numeric_stats(data, digits = 2)
testthat::expect_equal(result$.mean, c(1.12, 2.68))
testthat::expect_equal(result$.median, c(1.56, 2.33))
testthat::expect_equal(result$text_col, c("A", "B"))
})
testthat::test_that("round_numeric_stats handles missing numeric columns", {
data <- data.frame(text_col = c("A", "B"))
result <- saros:::round_numeric_stats(data, digits = 2)
testthat::expect_equal(result, data)
})
testthat::test_that("round_numeric_stats handles renamed columns", {
data <- data.frame(
Mean = c(1.12345, 2.67890),
SD = c(0.12345, 0.67890),
N = c(10, 20)
)
result <- saros:::round_numeric_stats(data, digits = 1)
testthat::expect_equal(result$Mean, c(1.1, 2.7))
testthat::expect_equal(result$SD, c(0.1, 0.7))
testthat::expect_equal(result$N, c(10, 20)) # N should not be rounded
})
testthat::test_that("get_standard_column_renamer handles variable label columns", {
renamer <- saros:::get_standard_column_renamer(
main_question = "Main Q",
use_header = TRUE
)
result1 <- renamer(".variable_label")
result2 <- renamer(".variable_label_suffix")
result3 <- renamer(".variable_name")
testthat::expect_equal(result1, "Main Q")
testthat::expect_equal(result2, "Main Q")
testthat::expect_equal(result3, "Main Q")
})
testthat::test_that("get_standard_column_renamer handles standard columns", {
renamer <- saros:::get_standard_column_renamer()
testthat::expect_equal(renamer("n"), "N")
testthat::expect_equal(renamer(".mean"), "Mean")
testthat::expect_equal(renamer("sd"), "SD")
})
testthat::test_that("get_standard_column_renamer handles unknown columns", {
renamer <- saros:::get_standard_column_renamer()
testthat::expect_equal(renamer("unknown_col"), "unknown_col")
})
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.