Nothing
test_that("surv_design creates valid object from data frame rates", {
sim <- surv_simulate(n_regions = 3, n_weeks = 4, seed = 1)
design <- surv_design(
data = sim$sequences, strata = ~ region,
sequencing_rate = sim$population[c("region", "seq_rate")],
population = sim$population
)
expect_s3_class(design, "surv_design")
expect_equal(design$n_strata, 3)
expect_true(design$n_obs > 0)
})
test_that("surv_design creates valid object from named vector rates", {
sim <- surv_simulate(n_regions = 3, n_weeks = 4, seed = 2)
rates <- setNames(sim$population$seq_rate, sim$population$region)
design <- surv_design(
data = sim$sequences, strata = ~ region,
sequencing_rate = rates, population = sim$population
)
expect_s3_class(design, "surv_design")
})
test_that("weights equal inverse of sequencing rate", {
sim <- surv_simulate(n_regions = 4, n_weeks = 6, seed = 3)
design <- surv_design(
data = sim$sequences, strata = ~ region,
sequencing_rate = sim$population[c("region", "seq_rate")],
population = sim$population
)
expected <- 1 / design$strata_info$seq_rate
expect_equal(design$weights$weight, expected, tolerance = 1e-10)
})
test_that("epiweek column is added", {
sim <- surv_simulate(n_regions = 2, n_weeks = 3, seed = 4)
design <- surv_design(
data = sim$sequences, strata = ~ region,
sequencing_rate = sim$population[c("region", "seq_rate")],
population = sim$population
)
expect_true("epiweek" %in% names(design$data))
})
test_that("source_type is stored when provided", {
sim <- surv_simulate(n_regions = 2, n_weeks = 3, seed = 5)
design <- surv_design(
data = sim$sequences, strata = ~ region,
sequencing_rate = sim$population[c("region", "seq_rate")],
population = sim$population, source_type = "source_type"
)
expect_equal(design$col_source_type, "source_type")
})
test_that("surv_update_rates recalculates weights", {
sim <- surv_simulate(n_regions = 3, n_weeks = 4, seed = 10)
design <- surv_design(
data = sim$sequences, strata = ~ region,
sequencing_rate = sim$population[c("region", "seq_rate")],
population = sim$population
)
old_wt <- design$weights$weight
new_r <- sim$population[c("region", "seq_rate")]
new_r$seq_rate <- new_r$seq_rate * 2
updated <- surv_update_rates(design, new_r)
expect_true(all(updated$weights$weight != old_wt))
})
test_that("surv_set_weights overrides", {
sim <- surv_simulate(n_regions = 3, n_weeks = 4, seed = 11)
design <- surv_design(
data = sim$sequences, strata = ~ region,
sequencing_rate = sim$population[c("region", "seq_rate")],
population = sim$population
)
updated <- surv_set_weights(design, rep(1.0, 3))
expect_true(all(updated$weights$weight == 1.0))
})
test_that("surv_design rejects missing columns", {
sim <- surv_simulate(n_regions = 2, n_weeks = 2, seed = 20)
expect_error(
surv_design(
data = sim$sequences, strata = ~ nonexistent,
sequencing_rate = sim$population[c("region", "seq_rate")],
population = sim$population
), "not found"
)
})
test_that("surv_design rejects non-formula strata", {
sim <- surv_simulate(n_regions = 2, n_weeks = 2, seed = 21)
expect_error(surv_design(
data = sim$sequences, strata = "region",
sequencing_rate = sim$population[c("region", "seq_rate")],
population = sim$population
))
})
test_that("print and summary do not error", {
sim <- surv_simulate(n_regions = 3, n_weeks = 4, seed = 30)
design <- surv_design(
data = sim$sequences, strata = ~ region,
sequencing_rate = sim$population[c("region", "seq_rate")],
population = sim$population, source_type = "source_type"
)
expect_no_error(print(design))
s <- summary(design)
expect_s3_class(s, "summary.surv_design")
expect_no_error(print(s))
})
test_that("surv_design with formula sequencing_rate works", {
sim <- surv_simulate(n_regions = 3, n_weeks = 4, seed = 40)
pop <- sim$population
design <- surv_design(
data = sim$sequences, strata = ~ region,
sequencing_rate = ~ n_sequenced / n_positive,
population = pop
)
expect_s3_class(design, "surv_design")
expect_true(all(design$strata_info$seq_rate > 0))
})
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.