diff --git a/doc/changelog.d/4342.maintenance.md b/doc/changelog.d/4342.maintenance.md new file mode 100644 index 000000000000..6bc1576549dc --- /dev/null +++ b/doc/changelog.d/4342.maintenance.md @@ -0,0 +1 @@ +Extract allowed values diff --git a/src/ansys/fluent/core/codegen/settingsgen.py b/src/ansys/fluent/core/codegen/settingsgen.py index e4f9f8361069..a8d2596edd09 100644 --- a/src/ansys/fluent/core/codegen/settingsgen.py +++ b/src/ansys/fluent/core/codegen/settingsgen.py @@ -316,6 +316,9 @@ def _write_data(cls_name: str, python_name: str, data: dict, f: IO, f_stub: IO | s_stub.write( f" {to_constant_name(allowed_value)}: Final[str] = {allowed_value!r}\n" ) + if data["allowed_values"]: + s.write(f" _allowed_values = {data['allowed_values']!r}\n") + s_stub.write(" _allowed_values: list[str]\n") s.write("\n") s_stub.write("\n") for name, (python_name, data, hash_, should_write_stub) in classes_to_write.items(): diff --git a/tests/test_codegen.py b/tests/test_codegen.py index 968821526c57..b112958eb39d 100644 --- a/tests/test_codegen.py +++ b/tests/test_codegen.py @@ -56,6 +56,23 @@ def test_allapigen_files(new_solver_session): importlib.import_module(f"ansys.fluent.core.generated.solver.settings_{version}") +@pytest.mark.fluent_version(">=26.1") +@pytest.mark.codegen_required +def test_settings_allowed_values(new_solver_session): + version = get_version_for_file_name(session=new_solver_session) + module = importlib.import_module( + f"ansys.fluent.core.generated.solver.settings_{version}" + ) + + file_type_1 = getattr(module, "file_type_1") + assert set(file_type_1._allowed_values) == set( + ["case", "case-data", "data", "mesh"] + ) + + unit = getattr(module, "unit") + assert set(unit._allowed_values) == set(["m", "cm", "mm", "in", "ft"]) + + def test_codegen_with_no_static_info(monkeypatch): codegen_outdir = Path(tempfile.mkdtemp()) monkeypatch.setattr(pyfluent.config, "codegen_outdir", codegen_outdir)