From 226361d016a3405d50e2635b8357237762d64280 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Sun, 14 Dec 2025 09:05:19 +0100 Subject: [PATCH 1/8] Adjust to EMGUI v0.6.0 --- Project.toml | 6 +++- ext/EMGUIExt/descriptive_names.yml | 47 ++++++++++++------------ test/Project.toml | 1 + test/test_descriptive_names.jl | 57 ++++++++++++++++++++++++++++++ 4 files changed, 88 insertions(+), 23 deletions(-) create mode 100644 test/test_descriptive_names.jl diff --git a/Project.toml b/Project.toml index 3ba0d2b..57c494c 100644 --- a/Project.toml +++ b/Project.toml @@ -1,15 +1,19 @@ name = "EnergyModelsHeat" uuid = "ad1b8b27-e232-4da9-b498-bea9c19a30d7" authors = ["Lars Hellemo, Hanne Kauko, and Till Holmes"] -version = "0.1.3" +version = "0.1.4" [deps] EnergyModelsBase = "5d7e687e-f956-46f3-9045-6f5a5fd49f50" JuMP = "4076af6c-e467-56ae-b986-b466b2749572" TimeStruct = "f9ed5ce0-9f41-4eaa-96da-f38ab8df101c" +[weakdeps] +EnergyModelsGUI = "737a7361-d3b7-40e9-b1ac-59bee4c5ea2d" + [compat] EnergyModelsBase = "0.9.1" +EnergyModelsGUI = "0.6.0" JuMP = "1.23.5" TimeStruct = "0.9.1" julia = "1.10" diff --git a/ext/EMGUIExt/descriptive_names.yml b/ext/EMGUIExt/descriptive_names.yml index 83ebbf0..1df3990 100644 --- a/ext/EMGUIExt/descriptive_names.yml +++ b/ext/EMGUIExt/descriptive_names.yml @@ -1,27 +1,30 @@ # This file contains descriptions of EnergyModelsHeat-structures and variables -# with fields of type TimeStruct.TimeProfile +# with fields of type TimeStruct.TimeProfile and fields that cannot be inherited +# from supertypes. structures: - HeatPump: - cap: "Installed capacity" - t_source: "Temperature profile of the heat source" - t_sink: "Sink temperature of the condensator" - eff_carnot: "Carnot Efficiency" - opex_var: "Variable operating expense per energy unit produced" - opex_fixed: "Fixed operating expense per installed capacity" - ResourceHeat: - t_supply: "Supply temperature in °C" - t_return: "Return temperature in °C" - DHPipe: - cap: "Heat transport capacity of the pipe" - t_ground: "Ground temperature in °C" - HeatExchanger: - cap: "Installed capacity" - opex_var: "Variable operating expense per energy unit produced" - opex_fixed: "Fixed operating expense" - DirectHeatUpgrade: - cap: "Installed capacity" - opex_var: "Variable operating expense per energy unit produced" - opex_fixed: "Fixed operating expense" + EnergyModelsHeat: + ## link.jl + DHPipe: + cap: "Heat transport capacity of the pipe" + t_ground: "Ground temperature in °C" + + ## node.jl + HeatPump: + t_source: "Heat source temperature" + t_sink: "Heat sink temperature" + eff_carnot: "Carnot Efficiency" + + ## resource.jl + ResourceHeat: + t_supply: "Supply temperature in °C" + t_return: "Return temperature in °C" + + PinchData: + T_SH_hot: "Hot temperature of surplus heat source in °C" + T_SH_cold: "Cold temperature of surplus heat source in °C" + ΔT_min: "Minimum temperature difference between surplus source and DH network in °C" + T_DH_hot: "Hot temperature of district heating network in °C" + T_DH_cold: "Cold temperature of district heating network in °C" # Add description for all JuMP variables using a TimeStruct.TimeProfile type variables: diff --git a/test/Project.toml b/test/Project.toml index a6119e2..5f5efb7 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -1,5 +1,6 @@ [deps] EnergyModelsBase = "5d7e687e-f956-46f3-9045-6f5a5fd49f50" +EnergyModelsGUI = "737a7361-d3b7-40e9-b1ac-59bee4c5ea2d" HiGHS = "87dc4568-4c63-4d18-b0c0-bb2238e4078b" Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" JuMP = "4076af6c-e467-56ae-b986-b466b2749572" diff --git a/test/test_descriptive_names.jl b/test/test_descriptive_names.jl new file mode 100644 index 0000000..d5dc3cd --- /dev/null +++ b/test/test_descriptive_names.jl @@ -0,0 +1,57 @@ +@testitem "Test existence of descriptive names for EnergyModelsHeat" begin + using EnergyModelsGUI + + # Check that no descriptive names are empty for types + descriptive_names = create_descriptive_names() + types_map = get_descriptive_names(EnergyModelsHeat, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(types_map)) +end + +@testitem "Test descriptive names for DHPipe model" setup = [DHPipeTestData] begin + using EnergyModelsGUI + + descriptive_names = create_descriptive_names() + m, _, _ = DHPipeTestData.dh_pipe_test_case() + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) +end + +@testitem "Test descriptive names for HeatPump model" setup = [HeatPumpTestData] begin + using EnergyModelsGUI + + descriptive_names = create_descriptive_names() + m, _, _ = HeatPumpTestData.hp_test_case() + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) +end + +@testitem "Test descriptive names for HeatPump model" setup = [TESTestData] begin + using EnergyModelsGUI + + descriptive_names = create_descriptive_names() + m, _, _ = TESTestData.tes_test_case() + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) +end + +@testitem "Test descriptive names for HeatPump model" setup = [UpgradeTestData] begin + using EnergyModelsBase + using EnergyModelsGUI + using JuMP + using HiGHS + + descriptive_names = create_descriptive_names() + case, model, _, _, _ = UpgradeTestData.generate_data(; equal_mass = false) + optimizer = optimizer_with_attributes(HiGHS.Optimizer, MOI.Silent() => true) + m = run_model(case, model, optimizer) + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) +end \ No newline at end of file From 67f7d7b59b41f62e7493e08623938083bee3d405 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Tue, 16 Dec 2025 19:34:00 +0100 Subject: [PATCH 2/8] Fix formatting --- test/test_descriptive_names.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_descriptive_names.jl b/test/test_descriptive_names.jl index d5dc3cd..609ae6f 100644 --- a/test/test_descriptive_names.jl +++ b/test/test_descriptive_names.jl @@ -54,4 +54,4 @@ end # Check that no descriptive names are empty for variables variables_map = get_descriptive_names(m, descriptive_names) @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) -end \ No newline at end of file +end From 12f7606f5b9065191445cbafad8ceed9602d92f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Tue, 16 Dec 2025 19:42:42 +0100 Subject: [PATCH 3/8] skip GUI-related imports/tests until Makie enables headless CI runs for windows --- test/test_descriptive_names.jl | 116 +++++++++++++++++---------------- 1 file changed, 60 insertions(+), 56 deletions(-) diff --git a/test/test_descriptive_names.jl b/test/test_descriptive_names.jl index 609ae6f..2450584 100644 --- a/test/test_descriptive_names.jl +++ b/test/test_descriptive_names.jl @@ -1,57 +1,61 @@ -@testitem "Test existence of descriptive names for EnergyModelsHeat" begin - using EnergyModelsGUI - - # Check that no descriptive names are empty for types - descriptive_names = create_descriptive_names() - types_map = get_descriptive_names(EnergyModelsHeat, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(types_map)) -end - -@testitem "Test descriptive names for DHPipe model" setup = [DHPipeTestData] begin - using EnergyModelsGUI - - descriptive_names = create_descriptive_names() - m, _, _ = DHPipeTestData.dh_pipe_test_case() - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) -end - -@testitem "Test descriptive names for HeatPump model" setup = [HeatPumpTestData] begin - using EnergyModelsGUI - - descriptive_names = create_descriptive_names() - m, _, _ = HeatPumpTestData.hp_test_case() - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) -end - -@testitem "Test descriptive names for HeatPump model" setup = [TESTestData] begin - using EnergyModelsGUI - - descriptive_names = create_descriptive_names() - m, _, _ = TESTestData.tes_test_case() - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) -end - -@testitem "Test descriptive names for HeatPump model" setup = [UpgradeTestData] begin - using EnergyModelsBase - using EnergyModelsGUI - using JuMP - using HiGHS - - descriptive_names = create_descriptive_names() - case, model, _, _, _ = UpgradeTestData.generate_data(; equal_mass = false) - optimizer = optimizer_with_attributes(HiGHS.Optimizer, MOI.Silent() => true) - m = run_model(case, model, optimizer) - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) +if get(ENV, "CI", "false") == "true" + # skip GUI-related imports/tests until Makie enables headless CI runs for windows +else + @testitem "Test existence of descriptive names for EnergyModelsHeat" begin + using EnergyModelsGUI + + # Check that no descriptive names are empty for types + descriptive_names = create_descriptive_names() + types_map = get_descriptive_names(EnergyModelsHeat, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(types_map)) + end + + @testitem "Test descriptive names for DHPipe model" setup = [DHPipeTestData] begin + using EnergyModelsGUI + + descriptive_names = create_descriptive_names() + m, _, _ = DHPipeTestData.dh_pipe_test_case() + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) + end + + @testitem "Test descriptive names for HeatPump model" setup = [HeatPumpTestData] begin + using EnergyModelsGUI + + descriptive_names = create_descriptive_names() + m, _, _ = HeatPumpTestData.hp_test_case() + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) + end + + @testitem "Test descriptive names for HeatPump model" setup = [TESTestData] begin + using EnergyModelsGUI + + descriptive_names = create_descriptive_names() + m, _, _ = TESTestData.tes_test_case() + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) + end + + @testitem "Test descriptive names for HeatPump model" setup = [UpgradeTestData] begin + using EnergyModelsBase + using EnergyModelsGUI + using JuMP + using HiGHS + + descriptive_names = create_descriptive_names() + case, model, _, _, _ = UpgradeTestData.generate_data(; equal_mass = false) + optimizer = optimizer_with_attributes(HiGHS.Optimizer, MOI.Silent() => true) + m = run_model(case, model, optimizer) + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) + end end From c9e0e25c54c385592e377d0f7aca3121303ed79c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Tue, 16 Dec 2025 19:52:45 +0100 Subject: [PATCH 4/8] Add suggestions from review --- test/test_descriptive_names.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_descriptive_names.jl b/test/test_descriptive_names.jl index 2450584..741366c 100644 --- a/test/test_descriptive_names.jl +++ b/test/test_descriptive_names.jl @@ -32,7 +32,7 @@ else @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) end - @testitem "Test descriptive names for HeatPump model" setup = [TESTestData] begin + @testitem "Test descriptive names for TES model" setup = [TESTestData] begin using EnergyModelsGUI descriptive_names = create_descriptive_names() @@ -43,7 +43,7 @@ else @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) end - @testitem "Test descriptive names for HeatPump model" setup = [UpgradeTestData] begin + @testitem "Test descriptive names for Upgrade model" setup = [UpgradeTestData] begin using EnergyModelsBase using EnergyModelsGUI using JuMP From 0ab4ac0c086c070942fa32507aeef374a3b71c07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Tue, 16 Dec 2025 20:09:34 +0100 Subject: [PATCH 5/8] Move EMGUI to a weak dependency in an attempt to resolve CI --- test/Project.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/Project.toml b/test/Project.toml index 5f5efb7..026cfd3 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -1,6 +1,5 @@ [deps] EnergyModelsBase = "5d7e687e-f956-46f3-9045-6f5a5fd49f50" -EnergyModelsGUI = "737a7361-d3b7-40e9-b1ac-59bee4c5ea2d" HiGHS = "87dc4568-4c63-4d18-b0c0-bb2238e4078b" Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" JuMP = "4076af6c-e467-56ae-b986-b466b2749572" @@ -10,3 +9,6 @@ PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" TestItemRunner = "f8b46487-2199-4994-9208-9a1283c18c0a" TimeStruct = "f9ed5ce0-9f41-4eaa-96da-f38ab8df101c" + +[weakdeps] +EnergyModelsGUI = "737a7361-d3b7-40e9-b1ac-59bee4c5ea2d" \ No newline at end of file From 827dbcc93b784ac54414918d5c216711f6339f40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Tue, 16 Dec 2025 21:07:15 +0100 Subject: [PATCH 6/8] Enable simple test runs locally --- test/Project.toml | 3 - test/runtests.jl | 9 ++- test/test_descriptive_names.jl | 116 ++++++++++++++++----------------- 3 files changed, 64 insertions(+), 64 deletions(-) diff --git a/test/Project.toml b/test/Project.toml index 026cfd3..a6119e2 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -9,6 +9,3 @@ PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" TestItemRunner = "f8b46487-2199-4994-9208-9a1283c18c0a" TimeStruct = "f9ed5ce0-9f41-4eaa-96da-f38ab8df101c" - -[weakdeps] -EnergyModelsGUI = "737a7361-d3b7-40e9-b1ac-59bee4c5ea2d" \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index b652915..e2ca460 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -2,4 +2,11 @@ using TestItemRunner using EnergyModelsHeat using PrettyTables -@run_package_tests +# Create a flag to detect if we are running in CI +is_ci::Bool = get(ENV, "CI", "false") == "true" + +# Run all package tests, but skip those requiring EnergyModelsGUI in CI. +# Make sure to run these locally before push to GitHub. +# Locally, these tests can be run with: +# julia --project=. -e 'import Pkg; Pkg.add("EnergyModelsGUI"); Pkg.instantiate(); Pkg.test()' +@run_package_tests filter = ti -> !(is_ci && (:requires_emgui ∈ ti.tags)) diff --git a/test/test_descriptive_names.jl b/test/test_descriptive_names.jl index 741366c..fc157bf 100644 --- a/test/test_descriptive_names.jl +++ b/test/test_descriptive_names.jl @@ -1,61 +1,57 @@ -if get(ENV, "CI", "false") == "true" - # skip GUI-related imports/tests until Makie enables headless CI runs for windows -else - @testitem "Test existence of descriptive names for EnergyModelsHeat" begin - using EnergyModelsGUI - - # Check that no descriptive names are empty for types - descriptive_names = create_descriptive_names() - types_map = get_descriptive_names(EnergyModelsHeat, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(types_map)) - end - - @testitem "Test descriptive names for DHPipe model" setup = [DHPipeTestData] begin - using EnergyModelsGUI - - descriptive_names = create_descriptive_names() - m, _, _ = DHPipeTestData.dh_pipe_test_case() - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) - end - - @testitem "Test descriptive names for HeatPump model" setup = [HeatPumpTestData] begin - using EnergyModelsGUI - - descriptive_names = create_descriptive_names() - m, _, _ = HeatPumpTestData.hp_test_case() - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) - end - - @testitem "Test descriptive names for TES model" setup = [TESTestData] begin - using EnergyModelsGUI - - descriptive_names = create_descriptive_names() - m, _, _ = TESTestData.tes_test_case() - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) - end - - @testitem "Test descriptive names for Upgrade model" setup = [UpgradeTestData] begin - using EnergyModelsBase - using EnergyModelsGUI - using JuMP - using HiGHS - - descriptive_names = create_descriptive_names() - case, model, _, _, _ = UpgradeTestData.generate_data(; equal_mass = false) - optimizer = optimizer_with_attributes(HiGHS.Optimizer, MOI.Silent() => true) - m = run_model(case, model, optimizer) - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) - end +@testitem "Test existence of descriptive names for EnergyModelsHeat" tags = [:requires_emgui] begin + using EnergyModelsGUI + + # Check that no descriptive names are empty for types + descriptive_names = create_descriptive_names() + types_map = get_descriptive_names(EnergyModelsHeat, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(types_map)) +end + +@testitem "Test descriptive names for DHPipe model" tags = [:requires_emgui] setup = [DHPipeTestData] begin + using EnergyModelsGUI + + descriptive_names = create_descriptive_names() + m, _, _ = DHPipeTestData.dh_pipe_test_case() + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) +end + +@testitem "Test descriptive names for HeatPump model" tags = [:requires_emgui] setup = [HeatPumpTestData] begin + using EnergyModelsGUI + + descriptive_names = create_descriptive_names() + m, _, _ = HeatPumpTestData.hp_test_case() + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) end + +@testitem "Test descriptive names for TES model" tags = [:requires_emgui] setup = [TESTestData] begin + using EnergyModelsGUI + + descriptive_names = create_descriptive_names() + m, _, _ = TESTestData.tes_test_case() + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) +end + +@testitem "Test descriptive names for Upgrade model" tags = [:requires_emgui] setup = [UpgradeTestData] begin + using EnergyModelsBase + using EnergyModelsGUI + using JuMP + using HiGHS + + descriptive_names = create_descriptive_names() + case, model, _, _, _ = UpgradeTestData.generate_data(; equal_mass = false) + optimizer = optimizer_with_attributes(HiGHS.Optimizer, MOI.Silent() => true) + m = run_model(case, model, optimizer) + + # Check that no descriptive names are empty for variables + variables_map = get_descriptive_names(m, descriptive_names) + @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) +end \ No newline at end of file From 3e40d8cd6b8d4f216059a2bc070ea1cd8233e40e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Tue, 16 Dec 2025 21:14:10 +0100 Subject: [PATCH 7/8] Skip EMGUI related tests for now. --- test/runtests.jl | 9 +----- test/test_descriptive_names.jl | 57 ---------------------------------- 2 files changed, 1 insertion(+), 65 deletions(-) delete mode 100644 test/test_descriptive_names.jl diff --git a/test/runtests.jl b/test/runtests.jl index e2ca460..b652915 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -2,11 +2,4 @@ using TestItemRunner using EnergyModelsHeat using PrettyTables -# Create a flag to detect if we are running in CI -is_ci::Bool = get(ENV, "CI", "false") == "true" - -# Run all package tests, but skip those requiring EnergyModelsGUI in CI. -# Make sure to run these locally before push to GitHub. -# Locally, these tests can be run with: -# julia --project=. -e 'import Pkg; Pkg.add("EnergyModelsGUI"); Pkg.instantiate(); Pkg.test()' -@run_package_tests filter = ti -> !(is_ci && (:requires_emgui ∈ ti.tags)) +@run_package_tests diff --git a/test/test_descriptive_names.jl b/test/test_descriptive_names.jl deleted file mode 100644 index fc157bf..0000000 --- a/test/test_descriptive_names.jl +++ /dev/null @@ -1,57 +0,0 @@ -@testitem "Test existence of descriptive names for EnergyModelsHeat" tags = [:requires_emgui] begin - using EnergyModelsGUI - - # Check that no descriptive names are empty for types - descriptive_names = create_descriptive_names() - types_map = get_descriptive_names(EnergyModelsHeat, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(types_map)) -end - -@testitem "Test descriptive names for DHPipe model" tags = [:requires_emgui] setup = [DHPipeTestData] begin - using EnergyModelsGUI - - descriptive_names = create_descriptive_names() - m, _, _ = DHPipeTestData.dh_pipe_test_case() - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) -end - -@testitem "Test descriptive names for HeatPump model" tags = [:requires_emgui] setup = [HeatPumpTestData] begin - using EnergyModelsGUI - - descriptive_names = create_descriptive_names() - m, _, _ = HeatPumpTestData.hp_test_case() - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) -end - -@testitem "Test descriptive names for TES model" tags = [:requires_emgui] setup = [TESTestData] begin - using EnergyModelsGUI - - descriptive_names = create_descriptive_names() - m, _, _ = TESTestData.tes_test_case() - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) -end - -@testitem "Test descriptive names for Upgrade model" tags = [:requires_emgui] setup = [UpgradeTestData] begin - using EnergyModelsBase - using EnergyModelsGUI - using JuMP - using HiGHS - - descriptive_names = create_descriptive_names() - case, model, _, _, _ = UpgradeTestData.generate_data(; equal_mass = false) - optimizer = optimizer_with_attributes(HiGHS.Optimizer, MOI.Silent() => true) - m = run_model(case, model, optimizer) - - # Check that no descriptive names are empty for variables - variables_map = get_descriptive_names(m, descriptive_names) - @test !any(any(isempty.(values(a))) for a ∈ values(variables_map)) -end \ No newline at end of file From fb2ab87bba8bf04f4a013ca4affc0671ebdda75c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Vegard=20Ven=C3=A5s?= Date: Wed, 17 Dec 2025 08:56:29 +0100 Subject: [PATCH 8/8] Add suggestion from review --- Project.toml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Project.toml b/Project.toml index 57c494c..fffeb55 100644 --- a/Project.toml +++ b/Project.toml @@ -8,12 +8,8 @@ EnergyModelsBase = "5d7e687e-f956-46f3-9045-6f5a5fd49f50" JuMP = "4076af6c-e467-56ae-b986-b466b2749572" TimeStruct = "f9ed5ce0-9f41-4eaa-96da-f38ab8df101c" -[weakdeps] -EnergyModelsGUI = "737a7361-d3b7-40e9-b1ac-59bee4c5ea2d" - [compat] EnergyModelsBase = "0.9.1" -EnergyModelsGUI = "0.6.0" JuMP = "1.23.5" TimeStruct = "0.9.1" julia = "1.10"