polish(per-year-pop): expand popyear in cog_explain + propagate pop_range
R-CMD-check / check (push) Failing after 1m30s
R-CMD-check / check (push) Failing after 1m30s
Final-review followups:
1. cog_explain rendered the popyear range as raw 2-digit values
("popyear range: 19-20"), which a user could read as the years 19-20.
Added .expand_popyear() helper to format as 4-digit calendar years
(2019-2020). Pivot at 70 to handle pre-2000 vintages if the corpus
ever extends backward.
2. cog_peer_compare provenance was missing pop_range and is_ratio,
omitted from the spec-required reproducibility metadata.
cog_find_peers now stamps both as tibble attributes; cog_peer_compare
reads them through to provenance$pop_range and provenance$is_ratio.
Test coverage extended: explain test asserts the 4-digit format and
rejects the old 2-digit form; peer-compare test asserts pop_range +
is_ratio propagate end-to-end.
326 PASS / 0 FAIL.
This commit is contained in:
@@ -114,12 +114,17 @@ test_that("cog_find_peers errors when target has no observed pop in `year`", {
|
||||
|
||||
test_that("cog_peer_compare stamps cohort_year from peers attribute", {
|
||||
skip_if_no_corpus()
|
||||
peers <- cog_find_peers("101006006", year = 2019L, max_peers = 4L)
|
||||
peers <- cog_find_peers("101006006", year = 2019L, max_peers = 4L,
|
||||
pop_range = c(0.5, 1.5))
|
||||
r <- cog_peer_compare("101006006", peers, "Police", years = 2020L)
|
||||
expect_true("cohort_year" %in% names(r))
|
||||
expect_true(all(r$cohort_year == 2019L))
|
||||
prov <- attr(r, "provenance")
|
||||
expect_equal(prov$cohort_year, 2019L)
|
||||
expect_equal(length(prov$cohort_govids), nrow(peers))
|
||||
# pop_range and is_ratio propagate from cog_find_peers attrs
|
||||
expect_equal(prov$pop_range, c(0.5, 1.5))
|
||||
expect_true(prov$is_ratio)
|
||||
})
|
||||
|
||||
test_that("cog_peer_compare cohort_year is NA for bare character peers", {
|
||||
|
||||
Reference in New Issue
Block a user