17 casos: helpers de tokenizacion/mapeo, schema basico con head_pos/tail_pos,
fallback por head_text, threshold, max_pairs, self-loops, ImportError, cache,
device='auto'.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
11 tests sin necesidad de descargar el modelo (200 MB):
- StubModel duck-typed que valida el contrato de predict_entities
- Threshold y flat_ner se propagan al modelo
- Schema vacio lanza ValueError; schema sin labels validos warning + []
- Excepcion del modelo se captura
- Label desconocido se descarta
- gliner_load_model: ImportError simulado, cache hit, _resolve_device
auto cae a cpu si torch no esta presente
Refs #0038
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>