context("Thin")
test_that("Thin ouputs are correct", {
x <- make_epicontacts(ebola_sim$linelist, ebola_sim$contacts,
id = "case_id", to = "case_id", from = "infector",
directed = TRUE)
y <- x[j = "916d0a", contacts = "from"]
## check expected errors
expect_error(thin(1), "x is not an epicontacts object")
msg <- paste0("Wrong values for 'what'; accepted values are:\n",
"'linelist', 'contact', 1, 2")
expect_error(thin(x, 3), msg)
expect_error(thin(x, "foo"), msg)
## check outputs
expect_equal(nrow(thin(x)$linelist), 4352)
expect_equal(dim(thin(x)$contacts), dim(x$contacts))
expect_equal(nrow(thin(x, 2)$contacts), 2161)
expect_equal(length(get_id(y, "contacts")),
nrow(thin(y)$linelist))
expect_true(all(get_id(thin(x)) %in% get_id(x, "contacts")))
expect_true(all(get_id(thin(x,2), "contacts") %in%
get_id(x)))
## check with numerical ids
y <- make_epicontacts(data.frame(id = 20:40),
data.frame(from = 21:30,
to = 31:40))
expect_true(all(get_id(thin(y)) %in% get_id(y, "contacts")))
expect_true(all(get_id(thin(y, 2), "contacts") %in% get_id(y)))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.