Nothing
test_that("define_multistate creates valid structure", {
ms <- define_multistate(
state_names = c("A", "B", "C"),
absorbing = "C",
transitions = list(A = c("B", "C"), B = c("C"))
)
expect_s3_class(ms, "mstate_structure")
expect_equal(ms$n_states, 3)
expect_equal(ms$n_transitions, 3)
expect_equal(ms$absorbing, "C")
expect_equal(ms$transient, c("A", "B"))
# Transition matrix
expect_equal(ms$trans_matrix["A", "B"], 1L)
expect_equal(ms$trans_matrix["A", "C"], 2L)
expect_equal(ms$trans_matrix["B", "C"], 3L)
expect_true(is.na(ms$trans_matrix["C", "A"]))
expect_true(is.na(ms$trans_matrix["A", "A"]))
})
test_that("clinical_states creates standard structure", {
ms <- clinical_states()
expect_s3_class(ms, "mstate_structure")
expect_equal(ms$n_states, 6)
expect_equal(ms$absorbing, "Death")
expect_equal(length(ms$transient), 5)
expect_true(ms$n_transitions >= 10)
})
test_that("define_multistate validates inputs", {
expect_error(
define_multistate(c("A"), "A", list()),
"at least 2 states"
)
expect_error(
define_multistate(c("A", "B"), "X", list(A = "B")),
"absorbing states must be in"
)
expect_error(
define_multistate(c("A", "B"), "B", list(A = c("B", "X"))),
"Unknown destination"
)
expect_error(
define_multistate(c("A", "B", "C"), "C", list(A = c("B", "C"))),
"missing from 'transitions'"
)
})
test_that("print.mstate_structure works", {
ms <- clinical_states()
expect_output(print(ms), "Multistate Structure")
expect_output(print(ms), "Transitions:")
})
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.