Skip to content

Commit

Permalink
add test
Browse files Browse the repository at this point in the history
  • Loading branch information
MartinBelthle committed Oct 22, 2024
1 parent b7334f1 commit cd6e5ac
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 17 deletions.
2 changes: 1 addition & 1 deletion src/antares/tsgen/ts_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ def _check_cluster(cluster: ThermalCluster) -> None:

_check_array(cluster.fo_rate < 0, "Forced failure rate is negative on following days")
_check_array(cluster.fo_rate > 1, "Forced failure rate is greater than 1 on following days")
_check_array(cluster.fo_duration < 0, "Forced outage duration is negative on following days")
_check_array(cluster.fo_duration <= 0, "Forced outage duration is null or negative on following days")
_check_array(cluster.po_rate < 0, "Planned failure rate is negative on following days")
_check_array(cluster.po_rate > 1, "Planned failure rate is greater than 1 on following days")
_check_array(cluster.po_duration <= 0, "Planned outage duration is null or negative on following days")
Expand Down
34 changes: 18 additions & 16 deletions tests/test_unit.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,22 +62,24 @@ def base_cluster_365_days():

def test_cluster_with_null_duration(rng):
days = 365
with pytest.raises(ValueError, match="Planned outage duration is null or negative on following days"):
ThermalCluster(
unit_count=10,
nominal_power=100,
modulation=np.ones(dtype=float, shape=8760),
fo_law=ProbabilityLaw.UNIFORM,
fo_volatility=0,
po_law=ProbabilityLaw.UNIFORM,
po_volatility=0,
fo_duration=10 * np.zeros(dtype=int, shape=days),
fo_rate=0.2 * np.zeros(dtype=float, shape=days),
po_duration=10 * np.zeros(dtype=int, shape=days),
po_rate=np.zeros(dtype=float, shape=days),
npo_min=np.zeros(dtype=int, shape=days),
npo_max=10 * np.zeros(dtype=int, shape=days),
)
args = {"unit_count": 10,
"nominal_power": 100,
"modulation": np.ones(dtype=float, shape=8760),
"fo_law": ProbabilityLaw.UNIFORM,
"fo_volatility": 0,
"po_law": ProbabilityLaw.UNIFORM,
"po_volatility": 0,
"fo_duration": 10 * np.ones(dtype=int, shape=days),
"fo_rate": 0.2 * np.zeros(dtype=float, shape=days),
"po_duration": 10 * np.ones(dtype=int, shape=days),
"po_rate": np.zeros(dtype=float, shape=days),
"npo_min": np.zeros(dtype=int, shape=days),
"npo_max": 10 * np.zeros(dtype=int, shape=days)
}
for duration_type in ["po_duration", "fo_duration"]:
args[duration_type] = 10 * np.zeros(dtype=int, shape=days)
with pytest.raises(ValueError, match="outage duration is null or negative on following days"):
ThermalCluster(**args)


def test_invalid_fo_rates(rng, base_cluster_365_days):
Expand Down

0 comments on commit cd6e5ac

Please sign in to comment.