lexia / tests /test_scope.py
davidhf2026's picture
LexIA 2026-09-16 19:37
efe917e
Raw History Blame Contribute Delete
1.88 kB
"""Frontera temática: familias lingüísticas, no preguntas del benchmark."""
from lexia.legal.scope import ScopeStatus, classify_scope
def test_modal_normativo_sobre_ia_entra_en_ruta_juridica():
assert classify_scope("¿Puede una empresa usar un sistema de IA para conceder crédito?").status is ScopeStatus.IN_SCOPE
def test_conceptos_regulados_sin_sigla_entran_en_ruta_juridica():
examples = (
"¿Qué derechos existen ante un tratamiento automatizado de datos personales?",
"¿Qué función tiene la supervisión humana en un sistema de alto riesgo?",
"¿Cómo se comunica un incidente grave de un sistema automatizado?",
)
assert all(classify_scope(item).status is ScopeStatus.IN_SCOPE for item in examples)
def test_pregunta_tecnica_de_ia_sigue_siendo_ambigua():
assert classify_scope("¿Cómo funciona una red neuronal?").status is ScopeStatus.AMBIGUOUS
def test_tema_ajeno_sigue_fuera_de_ambito():
assert classify_scope("¿Cuántos días de vacaciones me corresponden?").status is ScopeStatus.OUT_OF_SCOPE
def test_contenido_sintetico_y_decision_laboral_entran_en_ruta_juridica():
assert classify_scope("¿Qué obligaciones tiene un sistema que genera imágenes sintéticas?").status is ScopeStatus.IN_SCOPE
assert classify_scope("Confirma si este despido automatizado es ilegal").status is ScopeStatus.IN_SCOPE
def test_variantes_juridicas_del_dominio_no_dependen_de_una_sigla():
examples = (
"¿Está permitido clasificar biométricamente a personas?",
"¿Una modificación obliga a repetir su evaluación de conformidad?",
"¿Cómo se aplican exactitud y minimización a un sistema de IA?",
"¿Qué efecto tiene un cambio de finalidad sobre la clasificación de riesgo?",
)
assert all(classify_scope(item).status is ScopeStatus.IN_SCOPE for item in examples)