feat: export cog_basket_resolution() and cog_basket_unresolved()
Sidecar accessors for basket-mode results. cog_basket_resolution() returns the full resolution tibble (drops candidates list-col by default for readable printing). cog_basket_unresolved() filters to ambiguous/no_match rows for iterative refinement.
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
test_that("cog_basket_resolution returns the sidecar tibble", {
|
||||
basket <- suppressMessages(cog_gov_search(
|
||||
name = c("Broward", "Notarealplace"),
|
||||
state = c("FL", "NY")
|
||||
))
|
||||
res <- cog_basket_resolution(basket)
|
||||
expect_s3_class(res, "tbl_df")
|
||||
expect_equal(nrow(res), 2L)
|
||||
expect_setequal(colnames(res), c(
|
||||
"query_name", "query_state", "query_type", "status",
|
||||
"match_method", "canonical_govid", "gov_name", "n_candidates"
|
||||
))
|
||||
})
|
||||
|
||||
test_that("cog_basket_resolution(expand_candidates = TRUE) keeps candidates list-col", {
|
||||
basket <- suppressMessages(cog_gov_search(
|
||||
name = c("Broward", "Notarealplace"),
|
||||
state = c("FL", "NY")
|
||||
))
|
||||
res <- cog_basket_resolution(basket, expand_candidates = TRUE)
|
||||
expect_true("candidates" %in% colnames(res))
|
||||
expect_true(is.list(res$candidates))
|
||||
})
|
||||
|
||||
test_that("cog_basket_resolution errors on a non-basket tibble", {
|
||||
utility <- cog_gov_search("BROWARD")
|
||||
expect_error(
|
||||
cog_basket_resolution(utility),
|
||||
regexp = "no resolution attribute"
|
||||
)
|
||||
})
|
||||
|
||||
test_that("cog_basket_unresolved filters to ambiguous and no_match", {
|
||||
basket <- suppressMessages(cog_gov_search(
|
||||
name = c("Broward", "San Diego", "Notarealplace"),
|
||||
state = c("FL", "CA", "NY")
|
||||
))
|
||||
unres <- cog_basket_unresolved(basket)
|
||||
expect_equal(nrow(unres), 2L)
|
||||
expect_setequal(unres$status, c("ambiguous", "no_match"))
|
||||
expect_true("candidates" %in% colnames(unres))
|
||||
})
|
||||
|
||||
test_that("cog_basket_unresolved returns 0 rows when basket is clean", {
|
||||
basket <- cog_gov_search(
|
||||
name = c("BROWARD COUNTY", "SAN DIEGO CITY"),
|
||||
state = c("FL", "CA")
|
||||
)
|
||||
unres <- cog_basket_unresolved(basket)
|
||||
expect_equal(nrow(unres), 0L)
|
||||
})
|
||||
Reference in New Issue
Block a user