Ctrl K
ComunidadGuías…

tests/test_config_float_text_syntax.py

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import pytest

from dm.config_validation import env_float


@pytest.mark.parametrize("value", ["1_000.0", "+1.5", "12.5"])
def test_float_settings_reject_noncanonical_numeric_spellings(monkeypatch, value):
    monkeypatch.setenv("DM_TEST_FLOAT", value)
    with pytest.raises(ValueError, match="必须是数字"):
        env_float("DM_TEST_FLOAT", 1.0, minimum=-10_000, maximum=10_000)


def test_float_settings_keep_ascii_scientific_notation(monkeypatch):
    monkeypatch.setenv("DM_TEST_FLOAT", "-1.25e+2")
    assert env_float("DM_TEST_FLOAT", 1.0, minimum=-1000, maximum=1000) == -125.0