Nothing
test_that("glue_together_range handles NULL and NA values", {
# Test NULL input
expect_equal(glue_together_range(NULL, "{n}", "[{n[1]}-{n[2]}]"), "")
# Test all NA input
expect_equal(glue_together_range(c(NA, NA), "{n}", "[{n[1]}-{n[2]}]"), "")
# Test mixed with NA
expect_equal(
glue_together_range(c(5, NA, 10), "{n}", "[{n[1]}-{n[2]}]"),
"[5-10]"
)
})
test_that("glue_together_range handles infinite values", {
# Test all infinite values
expect_equal(glue_together_range(c(Inf, -Inf), "{n}", "[{n[1]}-{n[2]}]"), "")
# Test mixed finite and infinite
expect_equal(
glue_together_range(c(5, Inf), "{n}", "[{n[1]}-{n[2]}]"),
"[5-Inf]"
)
})
test_that("glue_together_range uses correct template for single value", {
# Single value should use template 1
result <- glue_together_range(5, "N={n}", "Range: {n[1]} to {n[2]}")
expect_equal(result, "N=5")
# Duplicate values should also use template 1
result2 <- glue_together_range(c(5, 5, 5), "N={n}", "Range: {n[1]} to {n[2]}")
expect_equal(result2, "N=5")
})
test_that("glue_together_range uses correct template for range", {
# Range should use template 2
result <- glue_together_range(c(5, 10), "N={n}", "Range: {n[1]} to {n[2]}")
expect_equal(result, "Range: 5 to 10")
# Multiple values creating a range
result2 <- glue_together_range(c(1, 3, 8, 2), "N={n}", "[{n[1]}-{n[2]}]")
expect_equal(result2, "[1-8]")
})
test_that("glue_together_range handles edge cases with templates", {
# Non-string template 1 should fallback
result <- glue_together_range(5, NULL, "Range: {n[1]} to {n[2]}")
expect_equal(result, "Range: 5 to NA")
# Non-string template 2 should fallback but may still process if range is single value
result2 <- glue_together_range(c(5, 10), "N={n}", NULL)
expect_equal(result2, "")
# Both templates NULL
result3 <- glue_together_range(c(5, 10), NULL, NULL)
expect_equal(result3, "")
})
test_that("n_rng processes basic inputs correctly", {
# Create test data
data <- data.frame(
dep1 = c(1, 2, 3, NA, 5),
dep2 = c("A", "B", "C", "D", NA),
indep1 = c("X", "Y", "X", "Y", "X")
)
# Test with single dep, no indep
result <- n_rng(data, dep = "dep1")
expect_type(result, "character")
expect_true(nchar(result) > 0)
})
test_that("n_rng handles multiple dependencies", {
data <- data.frame(
dep1 = c(1, 2, 3, 4, 5),
dep2 = c("A", "B", "C", "D", "E"),
indep1 = c("X", "Y", "X", "Y", "X")
)
# Test with multiple deps
result <- n_rng(data, dep = c("dep1", "dep2"))
expect_type(result, "character")
})
test_that("n_rng handles independent variables", {
data <- data.frame(
dep1 = c(1, 2, 3, 4, 5),
indep1 = c("X", "Y", "X", "Y", "X"),
indep2 = c("P", "Q", "P", "Q", "P")
)
# Test with dep and indep
result <- n_rng(data, dep = "dep1", indep = c("indep1", "indep2"))
expect_type(result, "character")
})
test_that("n_rng filters out NA values correctly", {
data <- data.frame(
dep1 = c(1, 2, NA, 4, 5),
indep1 = c("X", NA, "X", "Y", "X")
)
# Should only count complete cases
result <- n_rng(data, dep = "dep1", indep = "indep1")
expect_type(result, "character")
})
test_that("n_rng handles custom glue templates", {
data <- data.frame(
dep1 = c(1, 2, 3, 4, 5),
indep1 = c("X", "Y", "X", "Y", "X")
)
# Test custom templates
result <- n_rng(
data,
dep = "dep1",
indep = "indep1",
glue_template_1 = "Count: {n}",
glue_template_2 = "Range from {n[1]} to {n[2]}"
)
expect_type(result, "character")
expect_true(nchar(result) > 0)
})
test_that("n_rng handles crowd parameter", {
data <- data.frame(
dep1 = c(1, 2, 3, 4, 5),
group_var = c("target", "other", "target", "other", "target")
)
# Test different crowd settings
expect_no_error(n_rng(data, dep = "dep1", crowd = "all"))
expect_no_error(n_rng(
data,
dep = "dep1",
crowd = "target",
mesos_var = "group_var",
mesos_group = "target"
))
expect_no_error(n_rng(
data,
dep = "dep1",
crowd = "others",
mesos_var = "group_var",
mesos_group = "target"
))
})
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.