"""Tests for eval pricing module.""" from __future__ import annotations import pytest from openjarvis.evals.core.pricing import PRICING, compute_turn_cost, estimate_cost class TestPricing: def test_pricing_dict_nonempty(self): assert isinstance(PRICING, dict) assert len(PRICING) > 0 def test_compute_turn_cost_known_model(self): # Pick a model that's in PRICING (cloud models) if not PRICING: pytest.skip("No models in PRICING dict") model = next(iter(PRICING)) cost = compute_turn_cost(model, 1000, 500) assert isinstance(cost, (int, float)) assert cost >= 0 def test_compute_turn_cost_unknown_model(self): cost = compute_turn_cost("totally-unknown-local-model", 1000, 500) assert cost == 0.0 def test_compute_turn_cost_zero_tokens(self): if not PRICING: pytest.skip("No models in PRICING dict") model = next(iter(PRICING)) cost = compute_turn_cost(model, 0, 0) assert cost == 0.0 def test_estimate_cost_alias(self): # estimate_cost is the same as engine/cloud.py estimate_cost cost = estimate_cost("unknown-model", 100, 50) assert cost == 0.0