Nothing
context("Manipulating age groups")
test_that("age groups can be created and manipulated", {
ages <- seq_len(50)
age_limits <- c(0, 5, 10)
groups <- reduce_agegroups(ages, age_limits)
expect_identical(unique(groups), age_limits)
expect_warning(limits_to_agegroups(groups), "default")
age_groups <-
expect_identical(
as.character(unique(limits_to_agegroups(groups, notation = "brackets"))),
c("[0,5)", "[5,10)", "10+")
)
expect_identical(
as.character(unique(limits_to_agegroups(groups, notation = "dashes"))),
c("0-4", "5-9", "10+")
)
})
test_that("age groups are ordered factors", {
ages <- seq_len(50)
age_limits <- c(0, 5, 10)
groups <- reduce_agegroups(ages, age_limits)
age_groups <- limits_to_agegroups(groups, notation = "dashes")
expect_s3_class(age_groups, "ordered")
expect_s3_class(age_groups, "factor")
})
test_that("pop_age doesn't change total population size", {
ages_it_2015 <- wpp_age("Italy", 2015)
ages_it_2015_10 <- pop_age(ages_it_2015, age.limit = seq(0, 100, by = 10))
expect_identical(
sum(ages_it_2015$population),
sum(ages_it_2015_10$population)
)
# Even with interpolation
expect_warning(
ages_it_2015_cat <- pop_age(ages_it_2015, age.limit = c(0, 18, 40, 65)), # nolint
"Linearly estimating"
)
expect_identical(
sum(ages_it_2015$population),
sum(ages_it_2015_cat$population)
)
})
test_that("pop_age throws warnings or errors", {
expect_error(pop_age(3), "to be a data.frame")
expect_warning(wpp_age("Germany", 2011), "Don't have population data")
})
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.