diff --git a/CHANGELOG.md b/CHANGELOG.md index 5af286bea..6ed73ade8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Enhanced check for invalid field names in sources [#1383](https://github.com/ie3-institute/PowerSystemDataModel/issues/1383) - Enhancing value retrieval in `TimeSeriesSource` [1280](https://github.com/ie3-institute/PowerSystemDataModel/issues/1280) - Enhancing the `LoadProfileSource` to return the resolution [1288](https://github.com/ie3-institute/PowerSystemDataModel/issues/1288) +- Enhancing Validation for sRated of `HpTypeInput` [1394](https://github.com/ie3-institute/PowerSystemDataModel/issues/1394) ### Fixed diff --git a/src/main/java/edu/ie3/datamodel/models/result/system/HpResult.java b/src/main/java/edu/ie3/datamodel/models/result/system/HpResult.java index 0c47b38c9..a5dae8d0f 100644 --- a/src/main/java/edu/ie3/datamodel/models/result/system/HpResult.java +++ b/src/main/java/edu/ie3/datamodel/models/result/system/HpResult.java @@ -20,7 +20,7 @@ public class HpResult extends SystemParticipantWithHeatResult { * @param inputModel uuid of the input model that produces the result * @param p active power output normally provided in MW * @param q reactive power output normally provided in MVAr - * @param qDot provided head energy + * @param qDot provided heat energy */ public HpResult( ZonedDateTime time, diff --git a/src/main/java/edu/ie3/datamodel/utils/validation/SystemParticipantValidationUtils.java b/src/main/java/edu/ie3/datamodel/utils/validation/SystemParticipantValidationUtils.java index c68db81f1..083f5379f 100644 --- a/src/main/java/edu/ie3/datamodel/utils/validation/SystemParticipantValidationUtils.java +++ b/src/main/java/edu/ie3/datamodel/utils/validation/SystemParticipantValidationUtils.java @@ -337,6 +337,7 @@ private static List> checkHp(HpInput hpInput) * Validates a HpTypeInput if: * * * @@ -347,7 +348,10 @@ private static Try checkHpType(HpTypeInput hpTypeI return Try.ofVoid( () -> detectZeroOrNegativeQuantities( - new Quantity[] {hpTypeInput.getpThermal()}, hpTypeInput), + new Quantity[] { + hpTypeInput.getsRated(), hpTypeInput.getpThermal(), + }, + hpTypeInput), InvalidEntityException.class); } diff --git a/src/test/groovy/edu/ie3/datamodel/io/naming/EntityPersistenceNamingStrategyTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/naming/EntityPersistenceNamingStrategyTest.groovy index 06765fdc1..8688aced0 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/naming/EntityPersistenceNamingStrategyTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/naming/EntityPersistenceNamingStrategyTest.groovy @@ -243,6 +243,7 @@ class EntityPersistenceNamingStrategyTest extends Specification { BmResult || "prefix_bm_res_suffix" PvResult || "prefix_pv_res_suffix" ChpResult || "prefix_chp_res_suffix" + HpResult || "prefix_hp_res_suffix" WecResult || "prefix_wec_res_suffix" StorageResult || "prefix_storage_res_suffix" EvcsResult || "prefix_evcs_res_suffix" diff --git a/src/test/groovy/edu/ie3/datamodel/io/naming/FileNamingStrategyTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/naming/FileNamingStrategyTest.groovy index 528529532..3b12faef4 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/naming/FileNamingStrategyTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/naming/FileNamingStrategyTest.groovy @@ -52,6 +52,7 @@ import edu.ie3.datamodel.models.result.system.EvResult import edu.ie3.datamodel.models.result.system.EvcsResult import edu.ie3.datamodel.models.result.system.FixedFeedInResult import edu.ie3.datamodel.models.result.system.FlexOptionsResult +import edu.ie3.datamodel.models.result.system.HpResult import edu.ie3.datamodel.models.result.system.LoadResult import edu.ie3.datamodel.models.result.system.PvResult import edu.ie3.datamodel.models.result.system.StorageResult @@ -105,6 +106,7 @@ class FileNamingStrategyTest extends Specification { FixedFeedInResult || Path.of("test_grid", "results", "participants") BmResult || Path.of("test_grid", "results", "participants") PvResult || Path.of("test_grid", "results", "participants") + HpResult || Path.of("test_grid", "results", "participants") ChpResult || Path.of("test_grid", "results", "participants") WecResult || Path.of("test_grid", "results", "participants") StorageResult || Path.of("test_grid", "results", "participants") @@ -247,6 +249,7 @@ class FileNamingStrategyTest extends Specification { BmResult || Path.of("test_grid", "results", "participants", "bm_res") PvResult || Path.of("test_grid", "results", "participants", "pv_res") ChpResult || Path.of("test_grid", "results", "participants", "chp_res") + HpResult || Path.of("test_grid", "results", "participants", "hp_res") WecResult || Path.of("test_grid", "results", "participants", "wec_res") StorageResult || Path.of("test_grid", "results", "participants", "storage_res") EvcsResult || Path.of("test_grid", "results", "participants", "evcs_res") @@ -469,6 +472,7 @@ class FileNamingStrategyTest extends Specification { BmResult || Optional.empty() PvResult || Optional.empty() ChpResult || Optional.empty() + HpResult || Optional.empty() WecResult || Optional.empty() StorageResult || Optional.empty() EvcsResult || Optional.empty() @@ -612,6 +616,7 @@ class FileNamingStrategyTest extends Specification { BmResult || Path.of("bm_res") PvResult || Path.of("pv_res") ChpResult || Path.of("chp_res") + HpResult || Path.of("hp_res") WecResult || Path.of("wec_res") StorageResult || Path.of("storage_res") EvcsResult || Path.of("evcs_res") diff --git a/src/test/groovy/edu/ie3/datamodel/utils/validation/SystemParticipantValidationUtilsTest.groovy b/src/test/groovy/edu/ie3/datamodel/utils/validation/SystemParticipantValidationUtilsTest.groovy index a8c90b766..9086568f6 100644 --- a/src/test/groovy/edu/ie3/datamodel/utils/validation/SystemParticipantValidationUtilsTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/utils/validation/SystemParticipantValidationUtilsTest.groovy @@ -294,8 +294,9 @@ class SystemParticipantValidationUtilsTest extends Specification { ex.message.contains(expectedException.message) where: - invalidHpType || expectedException - new HpTypeInput(uuid, id, capex, opex, sRated, cosPhiRated, Quantities.getQuantity(0, ACTIVE_POWER_IN)) || new InvalidEntityException("The following quantities have to be positive: 0 kW", invalidHpType) + invalidHpType || expectedException + new HpTypeInput(uuid, id, capex, opex, Quantities.getQuantity(0, S_RATED), cosPhiRated, pThermal) || new InvalidEntityException("The following quantities have to be positive: 0 kVA", invalidHpType) + new HpTypeInput(uuid, id, capex, opex, sRated, cosPhiRated, Quantities.getQuantity(0, ACTIVE_POWER_IN)) || new InvalidEntityException("The following quantities have to be positive: 0 kW", invalidHpType) } // Load