Ctrl K
ComunidadGuías…

tests/test_eval_decimal_grading.py

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

Archivo original ↗Preguntar a KiBot
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")