tests/testthat/test-regroup_.R

test_that("regroup_ works", {
    set.seed(1)
    int <- sample(-3:50, 100L, replace = TRUE)
    dates <- as.Date("2018-01-31") + int
    group_1 <- sample(letters[1:3], length(dates), replace = TRUE)
    group_2 <- sample(letters[1:3], length(dates), replace = TRUE)
    dat <- data.frame(dates, group_1, group_2)
    dat$dates <- as_epiweek(dat$dates)
    x <- incidence(dat, date_index = "dates", groups = c("group_1", "group_2"))

    # regroup to know groups
    expected <- incidence(dat, date_index = "dates")
    expect_equal(regroup_(x), expected)

    # regroup to one group
    expected <- incidence(dat, date_index = "dates", groups = "group_1")
    expect_equal(regroup_(x, group_1), expected)

    # no groups
    expected <- incidence(dat, date_index = "dates")
    expect_equal(regroup_(expected), expected)

    # regroup none-incidence object
    expect_error(regroup_("test"))
    expect_snapshot(error = TRUE, regroup_("test"))

    # other errors
    expect_error(
        regroup_(
            incidence(dat, date_index = "dates", groups = "group_1"),
            groups = bob
        )
    )
    expect_snapshot(
        error = TRUE,
        regroup_(
            incidence(dat, date_index = "dates", groups = "group_1"),
            groups = bob
        )
    )

})
reconhub/incidence2 documentation built on Nov. 30, 2024, 4:43 p.m.