diff --git a/tests/unit/test_algorithm.py b/tests/unit/test_algorithm.py index d367819f..07ac0d49 100644 --- a/tests/unit/test_algorithm.py +++ b/tests/unit/test_algorithm.py @@ -10,7 +10,6 @@ os.environ["UPSTREAM_API_KEY"] = "test" from routstr.algorithm import ( # noqa: E402 calculate_model_cost_score, get_provider_penalty, - should_prefer_model, ) from routstr.payment.models import Architecture, Model, Pricing # noqa: E402 @@ -101,99 +100,3 @@ def test_get_provider_penalty_openrouter() -> None: penalty = get_provider_penalty(provider) assert penalty == 1.001 - -def test_should_prefer_model_cheaper_wins() -> None: - """Test that cheaper model is preferred.""" - cheap_model = create_test_model("cheap", prompt_price=0.001, completion_price=0.002) - expensive_model = create_test_model( - "expensive", prompt_price=0.03, completion_price=0.06 - ) - - provider1 = create_test_provider("provider1") - provider2 = create_test_provider("provider2") - - # Cheaper model should win - assert should_prefer_model( - cheap_model, provider1, expensive_model, provider2, "test-alias" - ) - - # More expensive model should not win - assert not should_prefer_model( - expensive_model, provider2, cheap_model, provider1, "test-alias" - ) - - -def test_should_prefer_model_exact_match_wins() -> None: - """Test that exact alias match beats cheaper price.""" - # Make model IDs match the alias differently - exact_match = create_test_model( - "test-model", prompt_price=0.03, completion_price=0.06 - ) - no_match = create_test_model( - "other-model", prompt_price=0.001, completion_price=0.002 - ) - - provider1 = create_test_provider("provider1") - provider2 = create_test_provider("provider2") - - # Exact match should win even though it's more expensive - assert should_prefer_model( - exact_match, provider1, no_match, provider2, "test-model" - ) - - -def test_should_prefer_model_openrouter_slight_penalty() -> None: - """Test that OpenRouter has slight penalty compared to other providers.""" - model1 = create_test_model("model1", prompt_price=0.001, completion_price=0.002) - model2 = create_test_model("model2", prompt_price=0.001, completion_price=0.002) - - regular_provider = create_test_provider("regular", "http://provider.com") - openrouter_provider = create_test_provider( - "openrouter", "https://openrouter.ai/api/v1" - ) - - # Regular provider should be preferred over OpenRouter at same cost - assert should_prefer_model( - model1, regular_provider, model2, openrouter_provider, "test-alias" - ) - - # OpenRouter should not replace regular provider at same cost - assert not should_prefer_model( - model2, openrouter_provider, model1, regular_provider, "test-alias" - ) - - -def test_should_prefer_model_openrouter_can_win_if_cheaper() -> None: - """Test that OpenRouter can still win if significantly cheaper.""" - cheap_model = create_test_model( - "cheap", prompt_price=0.0001, completion_price=0.0002 - ) - expensive_model = create_test_model( - "expensive", prompt_price=0.03, completion_price=0.06 - ) - - regular_provider = create_test_provider("regular", "http://provider.com") - openrouter_provider = create_test_provider( - "openrouter", "https://openrouter.ai/api/v1" - ) - - # OpenRouter should win if it's much cheaper (even with penalty) - assert should_prefer_model( - cheap_model, - openrouter_provider, - expensive_model, - regular_provider, - "test-alias", - ) - - -def test_should_prefer_model_same_cost_first_wins() -> None: - """Test that when costs are identical, current model is kept.""" - model1 = create_test_model("model1", prompt_price=0.001, completion_price=0.002) - model2 = create_test_model("model2", prompt_price=0.001, completion_price=0.002) - - provider1 = create_test_provider("provider1") - provider2 = create_test_provider("provider2") - - # When costs are equal, should not replace - assert not should_prefer_model(model2, provider2, model1, provider1, "test-alias")