openLLMbenchmark / tests /test_mode_selection.py
hf-space-deployer
HF Space deploy from main - 0b1e82967585f1407bf51086f2e5a962f178218a
371efe0
from mode_selection import (
MODE_PAIR,
MODE_SINGLE,
derive_initial_mode,
is_run_eligible,
normalize_selected_models,
resolve_active_models,
resolve_second_model_value,
update_pair_model_backup,
)
def test_derive_initial_mode_from_legacy_selection() -> None:
assert derive_initial_mode(selected_models=["gemma3:4b", "qwen3:8b"], selected_model="") == MODE_PAIR
assert derive_initial_mode(selected_models=["gemma3:4b"], selected_model="") == MODE_SINGLE
assert derive_initial_mode(selected_models=[], selected_model="gemma3:4b") == MODE_SINGLE
def test_pair_model_backup_preserved_and_restored() -> None:
backup = update_pair_model_backup(
current_backup="",
mode=MODE_PAIR,
model_1="gemma3:4b",
model_2="qwen3:8b",
)
assert backup == "qwen3:8b"
# Simulate pair -> single transition where active models keep only model_1.
restored = resolve_second_model_value(
selected_models=["gemma3:4b"],
pair_model_backup=backup,
model_1="gemma3:4b",
)
assert restored == "qwen3:8b"
def test_resolve_active_models_handles_duplicate_pair_selection() -> None:
active, duplicate = resolve_active_models(
mode=MODE_PAIR,
model_1="gemma3:4b",
model_2="gemma3:4b",
)
assert active == ["gemma3:4b"]
assert duplicate is True
def test_active_model_derivation_per_mode() -> None:
single_models, _ = resolve_active_models(
mode=MODE_SINGLE,
model_1="gemma3:4b",
model_2="qwen3:8b",
)
pair_models, _ = resolve_active_models(
mode=MODE_PAIR,
model_1="gemma3:4b",
model_2="qwen3:8b",
)
assert single_models == ["gemma3:4b"]
assert pair_models == ["gemma3:4b", "qwen3:8b"]
def test_run_eligibility_rules() -> None:
assert is_run_eligible(MODE_SINGLE, ["gemma3:4b"]) is True
assert is_run_eligible(MODE_SINGLE, []) is False
assert is_run_eligible(MODE_PAIR, ["gemma3:4b"]) is False
assert is_run_eligible(MODE_PAIR, ["gemma3:4b", "qwen3:8b"]) is True
def test_normalize_selected_models_deduplicates_and_limits() -> None:
models = normalize_selected_models(" gemma3:4b ", "", "gemma3:4b", "qwen3:8b", "llama3:8b")
assert models == ["gemma3:4b", "qwen3:8b"]