Nothing
# Tests for total emissions aggregation (calc_total_emissions)
test_that("calc_total_emissions aggregates correctly with standard fields", {
e1 <- list(source = "enteric", co2eq_kg = 1000)
e2 <- list(source = "manure", co2eq_kg = 500)
e3 <- list(source = "soil", co2eq_kg = 300)
result <- calc_total_emissions(e1, e2, e3)
expect_s3_class(result, "cf_total")
expect_equal(result$total_co2eq, 1800)
expect_equal(result$n_sources, 3)
})
test_that("calc_total_emissions supports alternative CO2eq field names", {
e1 <- list(source = "enteric", co2eq_kg = 1000)
e2 <- list(source = "manure", total_co2eq_kg = 500)
e3 <- list(source = "soil", total_co2eq = 300)
result <- calc_total_emissions(e1, e2, e3)
expect_s3_class(result, "cf_total")
expect_equal(result$total_co2eq, 1800)
})
test_that("calc_total_emissions is monotonic (increasing one source increases total)", {
base <- calc_total_emissions(
list(source = "enteric", co2eq_kg = 1000),
list(source = "manure", co2eq_kg = 500)
)
more <- calc_total_emissions(
list(source = "enteric", co2eq_kg = 1100),
list(source = "manure", co2eq_kg = 500)
)
expect_gt(more$total_co2eq, base$total_co2eq)
})
test_that("calc_total_emissions errors on invalid input (specific message)", {
expect_error(
calc_total_emissions(),
regexp = "at least|no sources|missing",
ignore.case = TRUE
)
expect_error(
calc_total_emissions("not a list"),
regexp = "list|cf_|source|invalid",
ignore.case = TRUE
)
})
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.