tests/test_eval_decimal_grading.py
Rama main · réplica de lectura del repositorio original.
from decimal import Decimal
import pytest
from dm.eval.grading import grade_numeric
from dm.eval.schema import EvalCaseError
def test_numeric_grader_preserves_decimal_precision():
expected = Decimal("12345678901234567890.1250")
ok, rendered = grade_numeric([(expected,)], "value=12345678901234567890.125")
assert ok is True
assert rendered == "12345678901234567890.125"
def test_numeric_grader_rejects_non_finite_decimals():
with pytest.raises(EvalCaseError, match="finite"):
grade_numeric([(Decimal("NaN"),)], "NaN")