Spaces:
Running
Running
| 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"] | |