From 181b6c4084b2640719c4326be36afacea61d80df Mon Sep 17 00:00:00 2001 From: Kalash Singhal <125359076+kalashsinghal@users.noreply.github.com> Date: Mon, 17 Jun 2024 09:38:30 +0200 Subject: [PATCH] refactor (#21) --- R/add_transition_risk_category.R | 2 +- .../test-add_transition_risk_category.R | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/R/add_transition_risk_category.R b/R/add_transition_risk_category.R index 2211acb..9e35d21 100644 --- a/R/add_transition_risk_category.R +++ b/R/add_transition_risk_category.R @@ -33,7 +33,7 @@ add_transition_risk_category <- function(data) { mutate(data, transition_risk_category = ifelse( is.na(.data[[col_transition_risk_score()]]), - NA, + NA_character_, categorize_risk( .data[[col_transition_risk_score()]], .data[[col_tr_low_threshold()]], diff --git a/tests/testthat/test-add_transition_risk_category.R b/tests/testthat/test-add_transition_risk_category.R index 6eba8e8..541c715 100644 --- a/tests/testthat/test-add_transition_risk_category.R +++ b/tests/testthat/test-add_transition_risk_category.R @@ -21,3 +21,21 @@ test_that("if input data lacks crucial columns, errors gracefully", { bad <- select(input_data, -all_of(crucial)) expect_error(add_transition_risk_category(bad), crucial) }) + +test_that("if `transition_risk_category` column has only NAs, then class of the column is `character`", { + co2 <- read_csv(toy_emissions_profile_products_ecoinvent()) |> + filter(activity_uuid_product_uuid != "76269c17-78d6-420b-991a-aa38c51b45b7") + all_activities_scenario_sectors <- read_csv(toy_all_activities_scenario_sectors()) |> + filter(activity_uuid_product_uuid == "76269c17-78d6-420b-991a-aa38c51b45b7") + scenarios <- read_csv(toy_sector_profile_any_scenarios()) + + output <- add_thresholds_transition_risk( + co2, + all_activities_scenario_sectors, + scenarios + ) |> + add_transition_risk_category() + + expected_class <- "character" + expect_equal(class(output$transition_risk_category), expected_class) +})