diff --git a/.gitmodules b/.gitmodules index 16639d0fb1..0b11b7d0b3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,3 +8,5 @@ [submodule "src/tests/resources/Antares_Simulator_Tests_NR"] path = src/tests/resources/Antares_Simulator_Tests_NR url = https://github.com/AntaresSimulatorTeam/Antares_Simulator_Tests_NR.git + branch = main + ignore = dirty diff --git a/src/tests/resources/Antares_Simulator_Tests_NR b/src/tests/resources/Antares_Simulator_Tests_NR index f1fa5377eb..0a08ac83d8 160000 --- a/src/tests/resources/Antares_Simulator_Tests_NR +++ b/src/tests/resources/Antares_Simulator_Tests_NR @@ -1 +1 @@ -Subproject commit f1fa5377eb6e35ae0d021f9cd5fe21443796d737 +Subproject commit 0a08ac83d8a687911862272924a21a065efae866 diff --git a/src/tests/run-study-tests/test_unfeasible_problem.py b/src/tests/run-study-tests/test_unfeasible_problem.py index d17f1d43d2..6875f2765b 100644 --- a/src/tests/run-study-tests/test_unfeasible_problem.py +++ b/src/tests/run-study-tests/test_unfeasible_problem.py @@ -6,14 +6,14 @@ from fixtures import * -ALL_STUDIES_PATH = Path('../resources/Antares_Simulator_Tests').resolve() +ALL_STUDIES_PATH = Path('../resources/Antares_Simulator_Tests_NR/unfeasible-problem').resolve() # -------------------------------------------------------------- # Test behavior when an infeasible problem occurs # -------------------------------------------------------------- @pytest.mark.unfeasible -@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "specific-tests" / "unfeasible-problem" / "unfeasible_problem_01"], indirect=True) +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_01"], indirect=True) def test_unfeasible_problem_01__error_verbose(study_path, check_runner): errors_on_weeks = [] errors_on_weeks.append(weeks_in_year(year=3, weeks=[19])) @@ -25,7 +25,7 @@ def test_unfeasible_problem_01__error_verbose(study_path, check_runner): check_runner.run(checks) @pytest.mark.unfeasible -@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "specific-tests" / "unfeasible-problem" / "unfeasible_problem_01"], indirect=True) +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_01"], indirect=True) def test_unfeasible_problem_01__error_dry(study_path, check_runner): errors_on_weeks = [] errors_on_weeks.append(weeks_in_year(year=3, weeks=[19])) @@ -37,7 +37,7 @@ def test_unfeasible_problem_01__error_dry(study_path, check_runner): check_runner.run(checks) @pytest.mark.unfeasible -@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "specific-tests" / "unfeasible-problem" / "unfeasible_problem_01"], indirect=True) +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_01"], indirect=True) def test_unfeasible_problem_01__warning_verbose(study_path, check_runner): warnings_on_weeks = [] warnings_on_weeks.append(weeks_in_year(year=3, weeks=[19])) @@ -52,7 +52,7 @@ def test_unfeasible_problem_01__warning_verbose(study_path, check_runner): check_runner.run(checks) @pytest.mark.unfeasible -@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "specific-tests" / "unfeasible-problem" / "unfeasible_problem_01"], indirect=True) +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_01"], indirect=True) def test_unfeasible_problem_01__warning_dry(study_path, check_runner): warnings_on_weeks = [] warnings_on_weeks.append(weeks_in_year(year=3, weeks=[19])) @@ -64,4 +64,253 @@ def test_unfeasible_problem_01__warning_dry(study_path, check_runner): checks.add(check = unfeasible_problem(study_path, new_behavior="warning-dry", checks_on_weeks=warnings_on_weeks, simulation=check_runner.get_simulation())) - check_runner.run(checks) \ No newline at end of file + check_runner.run(checks) + + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_02"], indirect=True) +def test_unfeasible_problem_02__warning_dry(study_path, check_runner): + warnings_on_weeks = [] + warnings_on_weeks.append(weeks_in_year(year=6, weeks=[22,23,29])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="warning-dry", + checks_on_weeks=warnings_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_02"], indirect=True) +def test_unfeasible_problem_02__error_dry(study_path, check_runner): + errors_on_weeks = [] + errors_on_weeks.append(weeks_in_year(year=6, weeks=[22])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="error-dry", + checks_on_weeks=errors_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_03"], indirect=True) +def test_unfeasible_problem_03__warning_dry(study_path, check_runner): + warnings_on_weeks = [] + warnings_on_weeks.append(weeks_in_year(year=3, weeks=[19])) + warnings_on_weeks.append(weeks_in_year(year=6, weeks=[42,43,49])) + warnings_on_weeks.append(weeks_in_year(year=7, weeks=[19])) + warnings_on_weeks.append(weeks_in_year(year=8, weeks=[19])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="warning-dry", + checks_on_weeks=warnings_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_03"], indirect=True) +def test_unfeasible_problem_03__error_dry(study_path, check_runner): + errors_on_weeks = [] + errors_on_weeks.append(weeks_in_year(year=3, weeks=[19])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="error-dry", + checks_on_weeks=errors_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_04"], indirect=True) +def test_unfeasible_problem_04__warning_dry(study_path, check_runner): + warnings_on_weeks = [] + warnings_on_weeks.append(weeks_in_year(year=6, weeks=[22,23,29])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="warning-dry", + checks_on_weeks=warnings_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_04"], indirect=True) +def test_unfeasible_problem_04__error_dry(study_path, check_runner): + errors_on_weeks = [] + errors_on_weeks.append(weeks_in_year(year=6, weeks=[22])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="error-dry", + checks_on_weeks=errors_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_05"], indirect=True) +def test_unfeasible_problem_05__warning_dry(study_path, check_runner): + warnings_on_weeks = [] + warnings_on_weeks.append(weeks_in_year(year=10, weeks=[19])) + warnings_on_weeks.append(weeks_in_year(year=11, weeks=[19])) + warnings_on_weeks.append(weeks_in_year(year=16, weeks=[19])) + warnings_on_weeks.append(weeks_in_year(year=29, weeks=[19])) + warnings_on_weeks.append(weeks_in_year(year=41, weeks=[42,43,49])) + warnings_on_weeks.append(weeks_in_year(year=43, weeks=[42,43,49])) + warnings_on_weeks.append(weeks_in_year(year=46, weeks=[42,43,49])) + warnings_on_weeks.append(weeks_in_year(year=142, weeks=[42,43,49])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="warning-dry", + checks_on_weeks=warnings_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_05"], indirect=True) +def test_unfeasible_problem_05__error_dry(study_path, check_runner): + errors_on_weeks = [] + errors_on_weeks.append(weeks_in_year(year=10, weeks=[19])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="error-dry", + checks_on_weeks=errors_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_06"], indirect=True) +def test_unfeasible_problem_06__warning_dry(study_path, check_runner): + warnings_on_weeks = [] + warnings_on_weeks.append(weeks_in_year(year=3, weeks=[19])) + warnings_on_weeks.append(weeks_in_year(year=6, weeks=[42,43,49])) + warnings_on_weeks.append(weeks_in_year(year=7, weeks=[19])) + warnings_on_weeks.append(weeks_in_year(year=8, weeks=[19])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="warning-dry", + checks_on_weeks=warnings_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_06"], indirect=True) +def test_unfeasible_problem_06__error_dry(study_path, check_runner): + errors_on_weeks = [] + errors_on_weeks.append(weeks_in_year(year=3, weeks=[19])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="error-dry", + checks_on_weeks=errors_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_07"], indirect=True) +def test_unfeasible_problem_07__warning_dry(study_path, check_runner): + warnings_on_weeks = [] + warnings_on_weeks.append(weeks_in_year(year=1, weeks=[1])) + warnings_on_weeks.append(weeks_in_year(year=3, weeks=[52])) + warnings_on_weeks.append(weeks_in_year(year=5, weeks=[1])) + warnings_on_weeks.append(weeks_in_year(year=7, weeks=[52])) + warnings_on_weeks.append(weeks_in_year(year=9, weeks=[52])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="warning-dry", + checks_on_weeks=warnings_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_07"], indirect=True) +def test_unfeasible_problem_07__error_dry(study_path, check_runner): + errors_on_weeks = [] + errors_on_weeks.append(weeks_in_year(year=1, weeks=[1])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="error-dry", + checks_on_weeks=errors_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_08"], indirect=True) +def test_unfeasible_problem_08__warning_dry(study_path, check_runner): + warnings_on_weeks = [] + warnings_on_weeks.append(weeks_in_year(year=3, weeks=[51])) + warnings_on_weeks.append(weeks_in_year(year=7, weeks=[51])) + warnings_on_weeks.append(weeks_in_year(year=9, weeks=[51])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="warning-dry", + checks_on_weeks=warnings_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_08"], indirect=True) +def test_unfeasible_problem_08__error_dry(study_path, check_runner): + errors_on_weeks = [] + errors_on_weeks.append(weeks_in_year(year=3, weeks=[51])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="error-dry", + checks_on_weeks=errors_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_09"], indirect=True) +def test_unfeasible_problem_09__warning_dry(study_path, check_runner): + warnings_on_weeks = [] + warnings_on_weeks.append(weeks_in_year(year=1, weeks=[1])) + warnings_on_weeks.append(weeks_in_year(year=3, weeks=[52])) + warnings_on_weeks.append(weeks_in_year(year=5, weeks=[1])) + warnings_on_weeks.append(weeks_in_year(year=7, weeks=[52])) + warnings_on_weeks.append(weeks_in_year(year=9, weeks=[52])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="warning-dry", + checks_on_weeks=warnings_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_09"], indirect=True) +def test_unfeasible_problem_09__error_dry(study_path, check_runner): + errors_on_weeks = [] + errors_on_weeks.append(weeks_in_year(year=1, weeks=[1])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="error-dry", + checks_on_weeks=errors_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_10"], indirect=True) +def test_unfeasible_problem_10__warning_dry(study_path, check_runner): + warnings_on_weeks = [] + warnings_on_weeks.append(weeks_in_year(year=3, weeks=[51])) + warnings_on_weeks.append(weeks_in_year(year=7, weeks=[51])) + warnings_on_weeks.append(weeks_in_year(year=9, weeks=[51])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="warning-dry", + checks_on_weeks=warnings_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks) + +@pytest.mark.unfeasible +@pytest.mark.parametrize('study_path', [ALL_STUDIES_PATH / "unfeasible_problem_10"], indirect=True) +def test_unfeasible_problem_10__error_dry(study_path, check_runner): + errors_on_weeks = [] + errors_on_weeks.append(weeks_in_year(year=3, weeks=[51])) + + checks = check_list() + checks.add(check = unfeasible_problem(study_path, new_behavior="error-dry", + checks_on_weeks=errors_on_weeks, + simulation=check_runner.get_simulation())) + check_runner.run(checks)