AiAnonymize_v3 / tests /test_layer_resolution.py
Alessandro Tomassini
deploy(hf): overlay README/Dockerfile da huggingface/, senza docs/binari/model
c42a5a1
Raw
History Blame Contribute Delete
1.13 kB
"""Risoluzione condivisa della selezione di layer (debug == analizza).
L'engine e il confronto "metodi" devono partire dalla STESSA selezione di layer,
altrimenti il tab metodi mostra layer (es. rules) che l'analisi non ha eseguito.
"""
from __future__ import annotations
from config.detection.layers import LAYER_KEYS, resolve_selected_layers
def test_valid_selection_is_kept():
assert resolve_selected_layers(["zero_shot"]) == ("zero_shot",)
def test_empty_selection_falls_back_to_rules_like_engine():
# Selezione vuota = stesso default dell'engine (regole), NON "tutti i layer".
assert resolve_selected_layers([]) == ("rules",)
def test_only_invalid_keys_fall_back_to_rules():
assert resolve_selected_layers(["non_esiste"]) == ("rules",)
def test_none_stays_none_for_compare_all():
# Nessuna selezione esplicita: il chiamante decide (il confronto mostra tutti).
assert resolve_selected_layers(None) is None
def test_invalid_keys_are_filtered_out():
got = resolve_selected_layers(["zero_shot", "non_esiste"])
assert got == ("zero_shot",)
assert all(k in LAYER_KEYS for k in got)