test_good <- test_df %>% filter(colony == 1)
test_bad <- test_df %>% filter(colony == 7)
test_good_count <-
test_good %>%
#fake count data
dplyr::mutate(count = (as.integer(mass) - min(as.integer(mass))) + 10)
test_that("brkpt works", {
expect_s3_class(
brkpt(test_good, t = week, formula = mass ~ week),
"data.frame"
)
})
test_that("brkpt works with more complicated formulas", {
expect_s3_class(
brkpt(test_good, t = week, formula = mass ~ week + floral_resources),
"data.frame"
)
})
test_that("brkpt errors when tau optimization does not converge", {
expect_error({
brkpt(test_bad, t = week, formula = mass ~ week, tau_optim_maxit = 1)
},
"Search for optimal switchpoint did not converge"
)
})
# test_that("brkpt works with dates", {
# date.model <- brkpt(testbees, t = date, formula = mass ~ date)
# expect_s3_class(date.model, "data.frame")
# expect_is(date.model$tau, "Date")
#
# testbees2 <- testbees %>% mutate(date = as.POSIXct(date))
# date.model2 <- brkpt(testbees2, t = date, formula = mass ~ date)
# expect_is(date.model2$tau, "POSIXct")
# })
test_that("dots pass arguments to glm()", {
#this isn't a great test. Just checks that there's no error. Can't tell if additional arg actually worked
expect_s3_class(
brkpt(test_good, t = week, formula = mass ~ week, model = FALSE),
"data.frame"
)
})
test_that("brkpt works with poisson dist", {
skip_on_cran()
count.model <- brkpt(test_good_count, t = week, formula = count ~ week, family = "poisson")
expect_s3_class(count.model, "data.frame")
expect_s3_class(count.model$model[[1]], "glm")
})
test_that("brkpt works with overdispersed data and family = 'negbin'", {
negbin.model <- brkpt(test_good_count, t = week, formula = count ~ week, family = "negbin")
expect_s3_class(negbin.model, "data.frame")
expect_s3_class(negbin.model$model[[1]], "negbin")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.